2015-09-11 64 views
1

我需要查看字典并删除以另一个完整单词开头的所有单词 - “attic”,例如,以单词“at”开头,所以我想要删除它。我写了一个可用的bash脚本:如何删除以另一个完整单词开始的所有单词

while read p; do 
    sed -i "/^$p./d" words.txt.tmp 
done < words.txt.tmp 

但是过了一会儿,它仍然在A上,这并不好。有没有更有效的方法来做到这一点?

回答

0

您可以使用grep -v过滤掉模式。您可以使用进程替换将^放在单词列表中每个单词的开头,并将其用作模式文件。

grep -v -f <(sed 's/.*/^&./' words.txt.tmp) words.txt.tmp > words.txt.filtered 
相关问题