我有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,猫等几个命令,但它没有奏效
像sort
和uniq
这样的命令在线上工作。
你所要做的就是将逗号转换成换行符,做sort -u
或uniq
,然后将换行符转换回逗号,例如
$ 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