我需要比较两个文件。在unix中的File1.txt和File2.txt。 File1.txt中的值而不是File2.txt中的值必须写入diff.txt。我想我们可以只使用awk来实现。任何人都可以请指导我做到这一点?使用awk比较unix中的两个文件
FILE1.TXT
apple
bat
cat
FILE2.TXT
apple
cat
diff.txt
bat
我需要比较两个文件。在unix中的File1.txt和File2.txt。 File1.txt中的值而不是File2.txt中的值必须写入diff.txt。我想我们可以只使用awk来实现。任何人都可以请指导我做到这一点?使用awk比较unix中的两个文件
FILE1.TXT
apple
bat
cat
FILE2.TXT
apple
cat
diff.txt
bat
尝试这一个班轮:
awk 'NR==FNR{a[$0];next}!($0 in a)' file2 file1 > diff.txt
diff file2 file1 | perl -lne 'print $1 if(/^\> (.*)/)'
+1:这是一个好方法,但可能更好的做一些像'diff -u file1 file2 | sed -n'/^--- /!{/^-/s/- // p}'' – 2013-03-26 18:46:41
这是“通讯”的建立是为了做这项工作:
comm -23 file1 file2
人通讯的详细信息。需要注意的是,输入文件必须按照您的要求进行排序。
这是迄今为止我使用最频繁的单行... +1 :)(虽然你忘了结尾引用) – 2013-03-26 16:28:06