2

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

grep -l <pattern> <files>

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

4

2 回答 2

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
于 2013-06-17T12:29:21.447 回答
1

要仅查看文件的特定行数,则命令语法如下。

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

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

IE

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

点击这里了解更多。

于 2013-06-17T12:19:44.517 回答