Chinaunix
标题:
如何将同一个文件第二列相同的行输出?
[打印本页]
作者:
jin978347005
时间:
2017-06-25 10:27
标题:
如何将同一个文件第二列相同的行输出?
文件a:
1 abcd
2 defg
3 abcd
4 kdjh
5 hdhi
6 defg
输出文件b:
1 abcd
2 defg
3 abcd
6 defg
不胜感激
作者:
haooooaaa
时间:
2017-06-25 11:13
awk 'NR==FNR{a[$2]++;next}a[$2]>1' a a
1 abcd
2 defg
3 abcd
6 defg
复制代码
作者:
jin978347005
时间:
2017-06-25 12:36
回复
2#
haooooaaa
再次感谢
作者:
liushouqiang12
时间:
2017-06-30 19:48
本帖最后由 liushouqiang12 于 2017-06-30 20:01 编辑
测试用单文件的效率怎么样:
awk '{a[$2]++;b[$2]=(b[$2]"\n"$0)}END{for (i in a){if(a[i]>1) printf(b[i])}}' a
复制代码
作者:
liushouqiang12
时间:
2017-06-30 19:51
本帖最后由 liushouqiang12 于 2017-06-30 20:03 编辑
楼上大神的next更有技术含量,不知道效率上怎么样,没有数据作测试!!!
作者:
jin978347005
时间:
2017-07-01 14:09
回复
5#
liushouqiang12
效率很不错,也非常感谢你
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2