与grep -v同时读取行命令无法正常工作

时间:2018-08-23 04:08:45

标签: linux while-loop grep command

我使用此命令

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,但是问题仍然存在,它没有正确删除行。

1 个答案:

答案 0 :(得分:0)

grep -vf removefrom.txt target.txt