shell – 目录中所有文件的第一行中的字符串grep和后代

参见英文答案 > Find all files with a Python Shebang                                    2个
我如何grep当前目录中的所有文件中的给定字符串,并递归地这样,只考虑第一行? (#!行,如果存在,但仅当#!在 – 第一行时)?
最佳答案
如果你没有被迫使用grep:

find . -type f -exec \
  awk 'FNR==1 && /GIVEN_STRING/ { print FILENAME ": " $0; }; FNR>1 {nextfile}' {} +

这会导致更少的CPU负载,因为一个进程(或很少)完成所有工作.

转载注明原文:shell – 目录中所有文件的第一行中的字符串grep和后代 - 代码日志