我有两个文件f1.txt和f2.txt。如果第一列在File2(f2.txt)中有匹配的条目,我希望能够删除文件1(f1.txt)中的行。 f2每行只有1列,其中每行f.txt将有两列或更多列。这是一个例子:
cat f1.txt
1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 1000
2, 100, 200, 300, 400
3, 100, 2000, 3000
4, 400, 500
5, 500, 600, 700, 800, 900, 1000
猫f2。 TXT
2
4
这是所需的输出:
1, 10, 20, 30, 40
3, 100, 2000, 3000, 400
5, 500, 600, 700, 800
答案 0 :(得分:2)
修改模式文件f2.txt,如下所示:
sed -i -e 's/^/\^/;s/$/\\b/' file1
f2.txt看起来像
^2\b
^4\b
etc.
然后将文件与grep:
进行比较grep -vf f2.txt f1.txt