- 论坛徽章:
- 0
|
呵呵,我写的比较繁复,不太好,
楼主注意你的源数据文件中的中文逗号要替换成英文的
- #!/bin/awk -f
-
- { data[NR] = $0 }
-
- END {
- for (i in data) {
- split(data[i], line1, ":")
- if (line1[9] == "" || line1[9] == "0")
- continue;
-
- k = 0;
- for (j in data) {
- split(data[j], line2, ":");
- if (line2[2] == line1[9])
- out[k++] = data[j];
- }
- if (k == 0)
- continue;
-
- print data[i];
- for (m=0; m<k; m++)
- print out[m];
- print "";
- }
- }
复制代码- ~$ ./test.awk datafile
- 1:1fdsa0:2:236:5fd5:45fda4:0:131:AAA:0
- 1:AAA:2:236:55fdas:4fdsa4:0:131:0:0
- 1:AAA:2:2df:55df5:45fd:0:131:CCC:0
- 1:1000:342:fd:5555:4564:0:131:BBB:0
- 1:BBB:2:236:55df5:45q14:0:131:Cff:0
复制代码 |
|