从已存在于另一个文件中的文件中删除行

时间:2014-04-08 09:42:24

标签: unix scripting hp-ux

我有两个文件:One.lst和Two.lst。

One.lst包含:

a
b
c
d
e

Two.lst包含:

c
d

我需要One.lst只包含a,b,e,即从One.lst中删除已存在于Two.lst中的行。

因此,更新的One.lst将是:

a
b
e

1 个答案:

答案 0 :(得分:0)

这是grep的作业:

$ grep -vf Two.lst One.lst
a
b
e

要使用内容更新文件,请执行以下操作:

grep -vf Two.lst One.lst > temp_file && mv temp_file One.lst

来自man grep

  

-f FILE , - file = FILE

     

从FILE获取模式,每行一个。

     

-v , - 反向匹配

     

反转匹配感,选择不匹配的行。