Sed 通过在最后一行中搜索模式来查找文件名

Sed 通过在最后一行中搜索模式来查找文件名,sed,awk,grep,Sed,Awk,Grep,我必须在大量包含特定模式的大型ASCII文件中查找所有文件。目前,我正在和你一起做这件事 grep -l <pattern> <files> grep-l 而且速度很慢。 但我知道,如果存在的话,模式会出现在最后10行中。是否可以只搜索最后几行以加快搜索速度,例如使用awk?只查看文件的特定行数,然后命令syntex如下所示 tail[+number][l][b][c][r][f][c number |-n number][file] 现在,您可以使用管道命令coma

我必须在大量包含特定模式的大型ASCII文件中查找所有文件。目前,我正在和你一起做这件事

grep -l <pattern> <files>
grep-l
而且速度很慢。
但我知道,如果存在的话,模式会出现在最后10行中。是否可以只搜索最后几行以加快搜索速度,例如使用awk?

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

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

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

i、 e

tail-n10 | grep-l


要了解更多信息。

您只需在处理过程中打印文件名即可

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

好的,也许我误解了什么,但是如果我使用tail并将输出管道传输到grep,我无法获取文件名,因为grep的输入来自标准输入。管道速度慢,请使用更好的文件。但是如果我将grep的输出管道传输到任何其他命令,在这种情况下,tail,是什么阻止了grep搜索每个文件的每一行?或者:
tail-n10“$f”| grep-q“$pattern”&&echo“$f”
Thx对于引号,我不知道我怎么会忘记:D我还想使用他的grep语法并在文件前回显名称:)Thx,正是我需要的!