作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我喜欢 unix find
命令,但当我想在我的项目中搜索任何目录或子目录的任何文件中的一段文本时,我总是觉得它太“笨拙”而无法使用。
有更简单的方法吗?
最佳答案
试试 grep
工具:
使用:grep -rl alvin .
您的递归 grep
搜索不必仅限于当前目录。下一个示例显示如何递归搜索两个不相关的目录以查找不区分大小写的字符串“alvin”:
grep -ril alvin /home/cato /htdocs/zenf
您还可以使用 egrep
命令执行递归搜索,这样您就可以一次搜索多个模式。
egrep -ril 'aja|alvin' .
请注意,在这种情况下,搜索模式需要引号。
总结:grep -r 注释:
关于 grep -r
命令的一些注意事项:
这个 grep 命令没有多大意义,除非您也将它与 -l(小写的“L”)标志一起使用。此标志告诉 grep 打印匹配的文件名。
不要忘记在 grep 命令的末尾列出一个或多个目录。如果您忘记添加任何目录,grep 将尝试从标准输入读取(像往常一样)。
如图所示,您还可以使用其他正常的 grep 标志,包括 -i 忽略大小写,-v 反转搜索的含义等。
关于git - 如何在我的目录树中搜索 git 管理项目的文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887594/
我是一名优秀的程序员,十分优秀!