我使用这个命令
while read line || [ -n "$line" ]; do grep -v "$line" target.txt > tmp; mv tmp target.txt; done < removefrom.txt
从 (target.txt) 中删除与 (removefrom.txt) 中的字符串匹配的行
这是 (target.txt)
e
1
k
2
a
这是 (removefrom.txt)
d
e
c
a
k
b
e
a
结果应该是这样的:
1
2
但有时结果是这样的:
e
1
2
或
e
1
2
a
或
1
2
a
我曾尝试使用 sed
,但问题仍然存在,它没有正确删除行。
最佳答案
grep -vf removefrom.txt 目标.txt
关于linux - grep -v with while read line 命令无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978191/