我正在尝试找到一种方法来扫描整个Linux系统,查找包含特定文本字符串的所有文件.只是为了澄清,我在文件中寻找文本,而不是文件名.
当我查找如何做到这一点时,我遇到了两次这个解决方案:
find / -type f -exec grep -H 'text-to-find-here' {} \;
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.它似乎显示系统中的每个文件.
这是否接近正确的方法呢?如果没有,我该怎么办?这种在文件中查找文本字符串的能力对于我正在做的一些编程项目非常有用.
假设我有一个C程序,我从bash运行它:
$ ./a.out 123 *
Run Code Online (Sandbox Code Playgroud)
该程序将输出所有命令行参数,但它将显示以下内容:
Argument 1: 123 Argument 2: a.out
我可以在我的程序中做些什么来解决这个问题?
我们可以在特定文件(html文件)中的某些文件夹中递归搜索一个术语(例如"onblur")吗?
grep -Rin "onblur" *.html
Run Code Online (Sandbox Code Playgroud)
这什么都不返回.但,
grep -Rin "onblur" .
Run Code Online (Sandbox Code Playgroud)
返回"onblur"所有可用文件的搜索结果,如文本(".txt"),. mako,.jinja等.