我有一个blacklist.txt文件,其中包含要使用sed删除的关键字。
以下是blacklist.txt文件包含的内容
winston@linux ] $ cat blacklist.txt
obscure
keywords
here
...
这是我目前所拥有的,但目前还不起作用。
blacklist=$(cat blacklist.txt);
output="filtered_file.txt"
for i in $blacklist;
do
cat $input | sed 's/$i//g' >> $output
done
最佳答案
如果要删除黑名单中包含单词的行
grep -v -f blacklist.txt inputfile > filtered_file.txt
如果你只想删除单词
awk 'FNR==NR{
blacklist[$0]
next
}
{
for(i=1;i<=NF;i++){
if ($i in blacklist){
$i=""
}
}
}1' blacklist inputfile > filtered_file.txt