我們在使用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;