gpt4 book ai didi

command-line - 搜索字符串: Find and Grep

转载 作者:行者123 更新时间:2023-12-04 04:13:01 25 4
gpt4 key购买 nike

必须有一个更好/更短的方法来做到这一点:

# Find files that contain <string-to-find> in current directory
# (including sub directories)
$ find . | xargs grep <string-to-find>

另外,仅搜索例如HTML文件:
 # find . | grep html$ | xargs grep <string-to-find>

预先感谢!

最佳答案

find . -name \*.html

或者,如果您要查找名称与正则表达式匹配的文件:
find . -regex filename-regex.\*\.html 

或者,如果您要在名称与正则表达式匹配的文件中搜索正则表达式
find . -regex filename-regex.\*\.html -exec grep -H string-to-find {} \;
grep参数 -H输出文件名(如果您有兴趣的话)。如果没有,您可以放心地删除它,只需使用 grep即可。这将指示 find对找到的每个文件名执行 grep string-to-find filename,从而避免了参数列表过长的可能性,并且避免了 find在将结果传递给 xargs之前需要完成执行。

要解决您的示例:
find . | xargs grep <string-to-find>

可以替换为
find . -exec grep -H string-to-find {} \;


find . | grep html$ | xargs grep <string-to-find>

可以替换为
find . -name \*.html -exec grep -H string-to-find {} \;

关于command-line - 搜索字符串: Find and Grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8138635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com