ste*_*ver 14
您可以使用grep -r
递归搜索文件内容,例如
grep -Iri 'numlock' /path/to/search/dir/
Run Code Online (Sandbox Code Playgroud)
/path/to/search/dir/
您要从中开始搜索的顶级目录在哪里- 您可以使用,/
但要准备好花费很长时间。
一些变化,取决于您的确切要求:
-r
,-R
请将选项更改为-l
选项以仅打印找到的文件的名称该I
告诉grep来忽略二进制文件和i
做搜索不区分大小写。
如果您的 grep 版本不支持递归搜索,您可以使用 find 和 grep 的组合来实现相同的目的,例如
find /path/to/search/dir/ -type f -exec grep --color -HIi 'numlock' {} +
Run Code Online (Sandbox Code Playgroud)
下面的脚本递归地搜索给定目录中的(文本)文件,查找给定字符串的出现情况,无论它是大写还是小写,或者它们的任意组合。
它将为您提供找到的匹配项的列表、文件的路径、文件名以及文件中字符串的实际出现次数,如下所示:
/path/to/file1 ['numlock', 'numlocK']
/longer/path/to/file2 ['NuMlOck']
Run Code Online (Sandbox Code Playgroud)
ETC。
为了限制搜索时间,我会在特定目录中查找匹配项,因此不会查找 2TB 的文件;)。
使用方法:
1]复制下面的文本,将其粘贴到一个空文本文件(gedit)中。2] 编辑标题部分中的两行以定义要查找的字符串和要搜索的目录。3]保存为searchfor.py。4] 要运行它:打开终端,输入python3
+ space
,然后将脚本拖到终端窗口并按回车键。找到的匹配列表将出现在终端窗口中
如果出现错误,脚本会提及它。
/path/to/file1 ['numlock', 'numlocK']
/longer/path/to/file2 ['NuMlOck']
Run Code Online (Sandbox Code Playgroud)