通过搜索模式的最后几行来查找文件名

时间:2013-06-17 11:54:58

标签: sed awk grep

我必须找到包含特定模式的大量大型ASCII文件中的所有文件。目前我正在用

做这件事
grep -l <pattern> <files>

而且速度很慢。 但我知道模式出现在最后10行中,如果存在的话。是否有优雅的可能性来搜索最后一行以加快搜索速度,例如用awk?

2 个答案:

答案 0 :(得分:4)

您可以在处理时简单地打印文件名

for f in $files; do
  echo "---- File \"$f\" ------"
  tail -n 10 "$f" | grep -l "$pattern"
  # you can also save the stdout to $f...
done

答案 1 :(得分:1)

只查看文件的特定行数,然后命令syntex如下。

tail [+ number] [-l] [-b] [-c] [-r] [-f] [-c number | -n number] [file]

现在您可以使用管道来命令greap和cat来执行您的特定工作。

tail -n 10 <fileName>|grep -l <pattern> <files>

Click here了解更多信息。