我有2个文件A和B.两个都有超过100行。我想删除两个文件之间的公共线 答:
asdf123
fdsa123
rrrr456
yyyy555
B:
fdsa123
hhhh888
yyyy555
所以现在文件应该是
A1:
asdf123
rrrr456
B1:
hhhh888
答案 0 :(得分:11)
您可以使用grep
:
$ grep -vf a b # or grep -vf a b > b1 to save it
hhhh888
$ grep -vf b a # or grep -vf b a > a1 to save it
asdf123
rrrr456
请注意,grep -f file1 file2
会检查file1
中显示的file2
行。也就是说,从file1
获取模式。
然后,grep -v
代表反转匹配。也就是说,获得与grep
命令相反的结果。
答案 1 :(得分:4)
您可以尝试:
awk -f del.awk fileA fileB > fileB.del
awk -f del.awk fileB fileA > fileA.del
其中del.awk
是
NR==FNR {
a[$0]++
next
}
! ($0 in a) {
print
}