原数据文件test格式如下:
30/Nov/2014:09:30:42 192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903531 FI|T|Tf|BBB
30/Nov/2014:09:30:42 192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903532 FI|T|Tf|QQQ
30/Nov/2014:09:30:42 192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903531 FI|T|Tf|SDF
30/Nov/2014:09:30:42 192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903532 FI|T|Tf|AAA
30/Nov/2014:09:30:42 192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903533 FI|T|Tf|AAA
需要根据第二列判断,去掉第二列重复的行
方法:由于找到不重复的key比较容易,所以先找到不重复的key生成一个文件,然后两个文件去做交集
1、找到不重复的key
cat test | awk '{print $2}' | sort | uniq -c | awk '{if($1==1)print $2}' > ~/test1
生成文件如下
192.168.0.112_-54eb28a7_149fe14728b_-1e07|1417309903533
2、两个文件取交集
awk 'ARGIND