我正在尝试将两个文件的差异写入一个输出文件。 ie)file1的内容,但不是file2的内容。
ex: cat file1
sam
robson
guugb
cat file2
sam
michg
Jay
对于上面的内容,我想要file2的内容,而不是在file2中的内容必须写入file2本身。所以最终的输出将是:
cat file2
sam
michg
Jay
robson
guugb
任何人都可以提供帮助。
答案 0 :(得分:0)
需要注意的是,订购将会丢失:
cat file1 file2 | sort -u >combined && mv combined file2
答案 1 :(得分:0)
使用join
:
join -a2 --nocheck-order file1 file2 > tmp && mv tmp file2
使用awk
:
awk '
NR==FNR {names[$1]++; next}
($1 in names) {delete names[$1]}
END {for(name in names) print name >> "file2"}
' file1 file2
END
块中,遍历我们的数组并将名称附加到file2。