有没有办法通过命令行工具过滤掉文件中的所有唯一行而不对行进行排序?我基本上想这样做:
sort -u myFile
没有排序的性能影响。
删除重复行:
awk '!a[$0]++' file
这是著名的 awk 一行语句。 inet 上有很多解释。Here http://www.catonmat.net/blog/awk-one-liners-explained-part-two/是一种解释:
这句台词非常地道。它记录了在
关联数组“a”(数组在 Awk 中始终是关联的)和 at
同时测试它以前是否见过该线。如果它看到了
line 之前,然后 a[line] > 0 且 !a[line] == 0。任何满足以下条件的表达式
计算结果为 false 是无操作,并且任何计算结果为 true 的表达式
等于“{ print }”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)