使用awk比较unix中的两个文件

时间:2013-03-26 11:30:58

标签: unix awk compare

我需要比较两个文件。 unix中的File1.txt和File2.txt。 File1.txt中存在的值而不是File2.txt中的值必须写入diff.txt。我想我们只能使用awk实现。任何人都可以指导我实现这一目标吗?

FILE1.TXT

apple
bat
cat

FILE2.TXT

apple
cat

diff.txt

bat

3 个答案:

答案 0 :(得分:5)

试试这个单行:

awk 'NR==FNR{a[$0];next}!($0 in a)' file2 file1 > diff.txt

答案 1 :(得分:1)

diff file2 file1 | perl -lne 'print $1 if(/^\> (.*)/)'

答案 2 :(得分:0)

这是创建“comm”的工作:

comm -23 file1 file2

man comm了解详情。需要注意的是输入文件必须按照你的方式进行排序。