linux命令删除重复的值

我有2个文件file1包含

1,2,3,4,5 

包含file2

 4,5,6,7,8 

输出应该是这样一种新文件假定它应该包含file3

 1,2,3,4,5,6,7,8, 

而不仅仅是如果file1和file2中的内容改变了

file1新内容

 10,11,12,13,14 

file2新内容

 13,14,15,16,17,18 

合并file3后应该包含下面的值

 1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18 

我已经尝试了像sorting,uniq,猫等几个命令,但它没有奏效

sortuniq这样的命令在线上工作。

你所要做的就是将逗号转换成换行符,做sort -uuniq ,然后将换行符转换回逗号,例如

 $ cat a 1,2,3,4,5 $ cat b 4,5,6,7,8 $ cat ab | tr ',' '\n' | sort -u | tr '\n' ',' 1,2,3,4,5,6,7,8, 

您可能会发现Unix Shell中的Set Operations有帮助。

如果你想合并结果到file3:

 cat file1 file2 | sed s/,/\\n/g | sort -u | tr "\\n" "," >> file3