擅长:python、mysql、java
<p>只有bash的解决方案:</p>
<pre><code># create a file with a mark that help to find the source of the hash remove duplicate
sed 's/^\([0-9a-f]*\)[^0-9a-f]/\1=A=/' FileA | sort | uniq -w 32 > FileA.mark
sed 's/^\([0-9a-f]*\)[^0-9a-f]/\1=B=/' FileB | sort | uniq -w 32 > FileB.mark
# sort the 2 files together , keep only unique hashs
sort -t= FileA.mark FileB.mark | uniq -w 32 -c > HashCountFromAB
# if the count equal 1 ( provide by option -c from uniq )
# we use the mark to find the origin of the hash
grep '^ *1 [0-9a-f]*=A=' HashCountFromAB > FileA.uniq
grep '^ *1 [0-9a-f]*=B=' HashCountFromAB > FileB.uniq
</code></pre>