> shell编程 >

linux 去除重复行

在linux底下,去除文件重复行的工具方法很多,例如:

利用linux中uniq命令
cat a.txt b.txt | uniq > new_file

利用awk
awk '!a[$0]++' a.txt b.txt c.txt  

解释:
1、当条件 !a[$0]++ 为真时,awk 的默认动作是 print $0 ,即打印出当前行;
2、当一行首次出现时,a[$0] 为假,!a[$0]++ 为真。以后,当相同的行再次出现时,a[$0] 为真,!a[$0]++ 为假,所以不再打印该重复的行。所以就实现了去除重复行的功能。

(责任编辑:IT)