gab*_*zie 4 command-line grep find
find 命令有没有办法在多个文件的每个文件中搜索字符串或模式的第一个匹配项或出现?我一直在使用通常的语法:
find dir -iname '*.ext' -exec command 'pattern' {} \;
Run Code Online (Sandbox Code Playgroud)
(我也碰巧正在搜索 pdf,-exec pdfgrep
但假设这将是一般问题的特例,可以事后或单独处理。)
请记住,这与使用 find-quit
或搜索生成第一个结果的常见问题不同head -n 1
。
只需使用-m
GNU 选项,grep
它会在(在示例中)一场比赛后停止读取文件。
find dir -iname '*.ext' -exec grep -m 1 'pattern' {} \;
Run Code Online (Sandbox Code Playgroud)