linux 中如何去除重复行

 

1、sort -u实现

root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt a b c x y z a b c m n o m n o root@PC1:/home/test# sort -u a.txt          ## sort -u删除重复行 a b c m n o x y z

 

2、 sort + awk实现

root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt a b c x y z a b c m n o m n o root@PC1:/home/test# sort a.txt | awk '{if( a != $0) {print $0} a = $0}' a b c m n o x y z

 

3、利用awk数组实现

root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt a b c x y z a b c m n o m n o root@PC1:/home/test# awk '!array[$0]++' a.txt     ## 利用awk数组删除重复行 a b c x y z m n o