我有一个超过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

最佳答案

使用-fgrep选项将单词列表用作模式列表:

grep -v -f 20000-words.txt 50000-lines.txt

您可能还需要-w-F开关来分别匹配整个单词或禁用单词的regex解释。

10-05 22:42