我需要比較兩個文件。在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