如果我有两个字符串,例如“class”和“btn”,linux命令是什么允许我在整个目录中搜索这两个字符串。
更具体地说,假设我的目录中包含一些带有.php文件的文件夹。我的目标是能够在这些.php文件中进行搜索,以便只打印出一行中包含“class”和“btn”的文件。希望这能更好地澄清事情。
谢谢,
答案 0 :(得分:0)
grep -r /path/to/directory 'class|btn'
grep
用于搜索文件中的字符串。使用-r
标志,它会递归搜索目录中的所有文件。
答案 1 :(得分:0)
我通常使用以下内容在源代码中搜索字符串。它搜索字符串并显示该文本出现的确切行号。在源代码文件中搜索字符串非常有用。您始终可以将输出传递给另一个grep和过滤器输出。
grep -rn "text_to_search" directory_name/
示例:
$ grep -rn "angular" menuapp
$ grep -rn "angular" menuapp | grep some_other_string
输出将是:
menuapp/public/javascripts/angular.min.js:251://# sourceMappingURL=angular.min.js.map
menuapp/public/javascripts/app.js:1:var app = angular.module("menuApp", []);
答案 2 :(得分:0)
或者,使用find
命令来“识别”要搜索的文件,而不是在递归模式下使用grep
:
find /path/to/your/directory -type f -exec grep "text_to_search" {} \+;