我正在使用 Mac OS 终端(类似于 Linux)并尝试找到在扩展名为 *.py 的计算机上搜索所有文件的最佳方法
实现这一目标的最佳方法是什么?
我想输入 1 个关键字进行搜索,并快速显示这些 python 文件的完整路径,其中包含所请求的关键字。
答案1
尝试这个,
find / -type f -name '*.py' -exec grep -l "keyword" {} \;
解释:
find / -type f -name '*.py'
:查找下面/
带有py
扩展名的文件。-exec grep -l keyword {} \;
在找到的文件中,grep
对于关键词并输出文件名而不是匹配项-l
。
我不熟悉 Mac 操作系统,但如果您globstar
的 shell 中有选项,您可以使用以下命令:
shopt -s globstar
grep -l keyword /**/*.py
答案2
needle
要在目录中的一堆 Python 文件中查找字符串haystack
:
$ grep -l 'needle' haystack/*.py
要下降到目录树,您可以使用grep -R
或切换到迭代 via find
,如 RoVo 的答案中所示。