我想在 file2 中搜索 file1 的模式,并将每个模式的结果保存在新文件中。我知道如何使用文件 2 中要搜索的所有模式执行此操作,并使用以下命令保存结果:
grep -wFf file1 file 2 > outputfile
但问题是我想为每个模式制作一个单独的输出文件。
我该怎么做?
答案1
该grep
实用程序不允许您开箱即用地执行此操作,因此在这种情况下您将不得不诉诸循环。
类似这样的事情就可以解决问题:
i=0
while read -r pattern; do
outfile="data-$(( i++ )).out"
fgrep -w "$pattern" data.in >$outfile
if [ ! -s $outfile ]; then
rm $outfile
fi
done <patterns.in
这还会删除任何空文件(不匹配的模式)。