我有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
我已经尝试了几个命令,如sort,uniq,cat等,但它没有工作
答案 0 :(得分:2)
sort
和uniq
之类的命令可以在线上工作。
您所要做的就是将逗号转换为换行符,执行sort -u
或uniq
,然后将换行符转换回逗号,例如
$ cat a
1,2,3,4,5
$ cat b
4,5,6,7,8
$ cat a b | tr ',' '\n' | sort -u | tr '\n' ','
1,2,3,4,5,6,7,8,
您可能会发现Set Operations in the Unix Shell有帮助。
答案 1 :(得分:2)
如果要将合并结果发送到file3:
cat file1 file2 | sed s/,/\\n/g | sort -u | tr "\\n" "," >> file3