当我对一堆文件执行 grep 操作,并且有几个文件包含我要查找的单词时,输出很难阅读,因为它是一个接一个的。无论如何,是否要在每个文件的匹配输出之后插入额外的 \n 。
例如,我得到的当前输出
$ grep word daily_log.201407*
<daily_log.20140702-matches about 100 lines>
<daily_log.20140704-matches about 10 lines>
<daily_log.20140706-matches about 50 lines>
试图实现类似的目标
$ grep word daily_log.201407*
<daily_log.20140702-matches about 100 lines>
<daily_log.20140704-matches about 10 lines>
<daily_log.20140706-matches about 50 lines>
希望问题清楚。有办法做到这一点吗?
答案1
您可以 grep 每个文件并根据 grep 的结果添加额外的行(即不针对不匹配的文件):
for fn in daily_log.201407* ; do
grep word "$fn"
if [ $? == 0 ] ; then
echo -e '\n\n\n'
fi
done