我正在使用 this 答案从两个文件中删除重复项。假设
file1
包含以下内容:
a
b
c
d
和文件2:
a
b
c
cd
z
运行后:
grep -F -v -f file1 file2 > file3
我在 file3 中得到了这个:
z
我理解为什么它删除了由
cz
组成的行,但我想停止这种行为。如何做到这一点?
sed
- 也欢迎解决方案。我已经尝试了 this 答案中的以下内容,在 file3
中具有相同的效果:
sed $(awk '{printf("-e /%s/d ", $1)}' file1) file2 > file3
要从另一个文件中存在的行中删除一组中存在的行,您可以:
comm -13 <(sort file1) <(sort file2)
如何做到这一点?
使用
-x
来匹配整行。