我們在使用Linux時經(jīng)常需要在兩個文本文件中取重復(fù)的行或只取不重復(fù)的,也就是取交集或并集。我們可以使用sort和uniq命令來處理:
利用現(xiàn)存兩個文件,生成一個新的文件
1. 取出兩個文件的并集(重復(fù)的行只保留一份)
2. 取出兩個文件的交集(只留下同時存在于兩個文件中的文件)
3. 刪除交集,留下其他的行
1. cat file1 file2 | sort | uniq
2. cat file1 file2 | sort | uniq -d
3. cat file1 file2 | sort | uniq -u
例如:文件a有三行:1,2,3;文件b有4行2,3,4,5;
那么輸入cat a b|sort之后,生成的文件有7行:1,2,2,3,3,4,5;
接下來輸入cat a b|sort|uniq -d取交集,生成的文件有兩行:2,3;
輸入 cat a b|sort|uniq -u取去除交集后的并集,生成:1,4,5;