sed搜索多个单词并删除这些行

时间:2014-07-24 13:55:09

标签: linux shell sed

我有一个超过50000行的主文件,我的要求是从实际文件中删除大约20000行。为此,我使用了grep -vE命令,它显示一个错误,因为参数太多了。我使用sed命令删除那些使用for循环。但由于20000个sed命令将初始化,因此需要花费大量时间才能删除。我需要尽快帮助。

for i in `cat 20000-words.txt`; do 
    sed -i -e "/$i/ d" 50000-lines.txt
done

1 个答案:

答案 0 :(得分:3)

使用-f的{​​{1}}选项将单词列表用作模式列表:

grep

您可能还需要grep -v -f 20000-words.txt 50000-lines.txt -w个开关来匹配整个单词或禁用单词的正则表达式解释。