我需要在文件系统中搜索与某个字符串匹配的文本字符串。我试图获取命令的使用位置,即在哪些文件中调用或使用它们。我需要找到使用以下文本的每个文件:shareEventHandler.php
或repToolBroker.php
或loginProctor.php
或messageBroker.php
或emailBroker.php
。如何使用 grep 或 find 来做到这一点?有人能帮我吗?
答案1
Find 用于查找文件名。Grep 用于在一个或多个文件中搜索。因此,我们将使用 grep。
从您想要搜索的根目录运行:
grep -r 'shareEventHandler.php\|repToolBroker.php\|loginProctor.php\|messageBroker.php\|emailBroker.php' .
- grep-搜索应用程序
- -r 从此目录向下递归搜索
- 搜索词之间使用“\|”
- “.”用于指示当前目录
另一种方法是使用 RegEx:
grep -rE '((shareEventHandler)|repToolBroker|loginProctor|messageBroker|emailBroker)(\.php)' .
- -E RegEx 标志