擅长:python、mysql、java
<p>以下是如何使用awk实现您想要的功能:</p>
<pre><code>$ awk '{$0+=0} NR==FNR{a[$0];next} !($0 in a)' compare1.txt compare2.txt
12
90
$ awk '{$0+=0} NR==FNR{a[$0];next} !($0 in a)' compare2.txt compare1.txt
11
91
</code></pre>
<p>但是这是<code>comm</code>存在的工作,你可以用它一次获得所有的差异和共同点。在以下输出中,col1仅为compare1.txt,col2仅为compare2.txt,col3在两个文件之间是通用的:</p>
<pre><code>$ comm <(awk '{print $0+0}' compare1.txt | sort) <(awk '{print $0+0}' compare2.txt | sort)
11
12
13
14
3
57
889
90
91
</code></pre>
<p>或分别获得每个结果:</p>
<pre><code>$ comm -23 <(awk '{print $0+0}' compare1.txt | sort) <(awk '{print $0+0}' compare2.txt | sort)
11
91
$ comm -13 <(awk '{print $0+0}' compare1.txt | sort) <(awk '{print $0+0}' compare2.txt | sort)
12
90
$ comm -12 <(awk '{print $0+0}' compare1.txt | sort) <(awk '{print $0+0}' compare2.txt | sort)
13
14
3
57
889
</code></pre>