Ita*_*vka 9 linux grep find find-in-files
如何在 Linux 的文件树中递归查找短语/单词?
我试过了find . -name ./* | grep my_phrase
,我试过了grep -r "register_long_arrays" *
Ian*_*non 14
grep -r "register_long_arrays" *
Run Code Online (Sandbox Code Playgroud)
将递归查找register_long_arrays当前目录中所有出现的。
如果你想结合find使用grep来限制搜索的文件类型,你应该像这样使用它(这个例子将搜索限制为文件结尾.txt):
find . -name '*.txt' -exec grep "register_long_arrays" {} \;
Run Code Online (Sandbox Code Playgroud)
将{}替换为find找到的每个文件,而不必担心转义空格等问题字符。注意分号前的反斜杠。这确保分号被转义并传递给 exec 子句 (grep),而不是终止 find 命令。
如果您仍然没有找到您想要的内容,则可能是大小写问题,(将-i标志提供给 grep 以忽略大小写)或者您想要的内容可能位于隐藏文件中(以 开头.),该文件*将不匹配,其中case 提供*和 .*作为 grep 的参数。
find . -exec grep my_phrase {} \;
Run Code Online (Sandbox Code Playgroud)
find生成当前目录或当前目录下所有文件的列表。将为找到的每个文件exec执行该命令。grep my_phrase这\;只是让它发挥作用的魔法。通常可以使用 来查看其工作原理的详细信息man find。
如果您不仅想知道是否找到了它,还想知道在哪里找到它,您可能还想查看-H选项。grep
| 归档时间: |
|
| 查看次数: |
18952 次 |
| 最近记录: |