亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4837 | 回復: 11
打印 上一主題 下一主題

一個shell的問題_sort [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-06-16 09:47 |只看該作者 |倒序瀏覽
我有一個文件,內(nèi)容是這個樣子的
list_mac-ip.txt
  IP ADDRESS = 192.168.2.236 ;
  MAC ADDRESS= 00:21:70:ee:86:f3;

  IP ADDRESS = 192.168.2.250 ;
  MAC ADDRESS= 00:0c:29:ac:29:3f;

  IP ADDRESS = 192.168.2.172 ;
  MAC ADDRESS= 00:23:7d:11:69:27;

  IP ADDRESS = 192.168.2.175 ;
  MAC ADDRESS= 00:0c:29:64:5f:b8;

  IP ADDRESS = 192.168.2.209 ;
  MAC ADDRESS= 00:24:e8:ad:e2:b2;

  IP ADDRESS = 192.168.2.199 ;
  MAC ADDRESS= 00:21:70:72:24:53;

  IP ADDRESS = 192.168.2.166 ;
  MAC ADDRESS= e4:1f:13:6c:4b:a8;

  IP ADDRESS = 192.168.2.163 ;
  MAC ADDRESS= 00:24:e8:c6:f2:3f;

  IP ADDRESS = 192.168.2.193 ;
  MAC ADDRESS= 00:0c:29:ac:29:3f;

  IP ADDRESS = 192.168.2.246 ;
  MAC ADDRESS= 00:0c:29:f0:95:ce;

  IP ADDRESS = 192.168.2.165 ;
  MAC ADDRESS= 00:0c:29:67:72:9c;

  IP ADDRESS = 192.168.2.243 ;
  MAC ADDRESS= 00:0c:29:67:72:9c;

  IP ADDRESS = 192.168.2.243 ;
  MAC ADDRESS= 00:0c:29:67:72:9c;

我要把其中的相同字段合并,但格式不變化;
我用cat list_mac_ip.txt |sort -u
命令結(jié)果:類似這樣:
IP ADDRESS = 192.168.2.240 ;
  IP ADDRESS = 192.168.2.241 ;
  IP ADDRESS = 192.168.2.242 ;
  IP ADDRESS = 192.168.2.243 ;
  IP ADDRESS = 192.168.2.244 ;
  IP ADDRESS = 192.168.2.245 ;
  IP ADDRESS = 192.168.2.246 ;
  IP ADDRESS = 192.168.2.247 ;
  IP ADDRESS = 192.168.2.248 ;
  IP ADDRESS = 192.168.2.249 ;
  IP ADDRESS = 192.168.2.250 ;
  IP ADDRESS = 192.168.2.84 ;
  MAC ADDRESS= 00:0b:cd:9a:a5:8d;
  MAC ADDRESS= 00:0c:29:01:99:d8;
  MAC ADDRESS= 00:0c:29:03:eb:89;
  MAC ADDRESS= 00:0c:29:09:c6:37;
  MAC ADDRESS= 00:0c:29:0c:82:e9;
  MAC ADDRESS= 00:0c:29:19:17:5d;
  MAC ADDRESS= 00:0c:29:1e:00:be;
  MAC ADDRESS= 00:0c:29:22:85:93;
  MAC ADDRESS= 00:0c:29:23:45:5a;
  MAC ADDRESS= 00:0c:29:24:ea:16;
  MAC ADDRESS= 00:0c:29:27:aa:9b;
  MAC ADDRESS= 00:0c:29:29:68:c0;
  MAC ADDRESS= 00:0c:29:2b:c7:78;
  MAC ADDRESS= 00:0c:29:3f:be:03;
  MAC ADDRESS= 00:0c:29:45:e5:72;
  MAC ADDRESS= 00:0c:29:47:da:b7;
  MAC ADDRESS= 00:0c:29:47:f3:fb;

把同字段合并了,
但格式卻變化了,各位大蝦,有沒有什么辦法解決???

論壇徽章:
0
2 [報告]
發(fā)表于 2011-06-16 09:48 |只看該作者
在線等,

論壇徽章:
0
3 [報告]
發(fā)表于 2011-06-16 09:51 |只看該作者
你想要怎樣?
沒說清楚嘛

論壇徽章:
0
4 [報告]
發(fā)表于 2011-06-16 09:53 |只看該作者
我要把原文件中的相同字段合并,但格式不變化;
比如:
IP ADDRESS = 192.168.2.243 ;
  MAC ADDRESS= 00:0c:29:67:72:9c;

  IP ADDRESS = 192.168.2.243 ;
  MAC ADDRESS= 00:0c:29:67:72:9c;
合并后,只顯示一個,但格式不變
還是IP和MAC在一起的

論壇徽章:
0
5 [報告]
發(fā)表于 2011-06-16 09:55 |只看該作者
這樣
  1. awk '/IP/{ip=$4;getline v;a[ip]=$0"\n"v"\n"}END{for (i in a) print a[i]}' file
復制代碼
  1. [root@Mylinux tmp]# awk '/IP/{ip=$4;getline v;a[ip]=$0"\n"v"\n"}END{for (i in a
  2. ) print a[i]}' file
  3.   IP ADDRESS = 192.168.2.163 ;
  4.   MAC ADDRESS= 00:24:e8:c6:f2:3f;

  5.   IP ADDRESS = 192.168.2.172 ;
  6.   MAC ADDRESS= 00:23:7d:11:69:27;

  7.   IP ADDRESS = 192.168.2.250 ;
  8.   MAC ADDRESS= 00:0c:29:ac:29:3f;

  9.   IP ADDRESS = 192.168.2.165 ;
  10.   MAC ADDRESS= 00:0c:29:67:72:9c;

  11.   IP ADDRESS = 192.168.2.243 ;
  12.   MAC ADDRESS= 00:0c:29:67:72:9c;

  13.   IP ADDRESS = 192.168.2.193 ;
  14.   MAC ADDRESS= 00:0c:29:ac:29:3f;

  15.   IP ADDRESS = 192.168.2.166 ;
  16.   MAC ADDRESS= e4:1f:13:6c:4b:a8;

  17.   IP ADDRESS = 192.168.2.175 ;
  18.   MAC ADDRESS= 00:0c:29:64:5f:b8;

  19.   IP ADDRESS = 192.168.2.209 ;
  20.   MAC ADDRESS= 00:24:e8:ad:e2:b2;

  21.   IP ADDRESS = 192.168.2.236 ;
  22.   MAC ADDRESS= 00:21:70:ee:86:f3;

  23.   IP ADDRESS = 192.168.2.246 ;
  24.   MAC ADDRESS= 00:0c:29:f0:95:ce;

  25.   IP ADDRESS = 192.168.2.199 ;
  26.   MAC ADDRESS= 00:21:70:72:24:53;

  27. [root@Mylinux tmp]#
復制代碼

論壇徽章:
0
6 [報告]
發(fā)表于 2011-06-16 09:56 |只看該作者
awk很強啊...謝謝樓上

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
7 [報告]
發(fā)表于 2011-06-16 09:56 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
8 [報告]
發(fā)表于 2011-06-16 10:00 |只看該作者
回復 5# ywlscpl


    為什么輸入的時候,有的是IP address 在前面,有的是MAC address在前面

格式能否保留每個IP address 和mac address是匹配 然后每兩個用空行分開?

論壇徽章:
0
9 [報告]
發(fā)表于 2011-06-16 10:05 |只看該作者
謝謝 ,ywlscpl (白云蒼狗)
回頭再去研究一下awk

論壇徽章:
0
10 [報告]
發(fā)表于 2011-06-16 10:05 |只看該作者
本帖最后由 ywlscpl 于 2011-06-16 10:11 編輯

回復 8# wbbshen


    因為  IP ADDRESS = 192.168.2.250 ;
  MAC ADDRESS= 00:0c:29:ac:29:3f;

和  IP ADDRESS = 192.168.2.193 ;
  MAC ADDRESS= 00:0c:29:ac:29:3f;


MAC地址相同,如果針對行去重的,第2個MAC地址這行不打印

所以要看你需求,是針對ip去重,還是mac去重。如果是后者,我那條語句還要改
  1. awk '/IP/{v=$0;getline;a[$3]=v"\n"$0"\n"}END{for (i in a) print a[i]}' file
復制代碼
保留最后那個MAC出現(xiàn)的那段
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP