Joh*_*den 6 unix bash shell grep find
到目前为止我最好的镜头是(用于在包含大型C程序的目录中查找字符串)
find ~/example_directory -type f \( -name "*.mk" -or -name "*.[sch]" \) -print0 | xargs -0 -e grep "example_string"
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好,但它依赖于.mk makefile,.c或.h源文件和.s汇编程序文件中的所有有趣内容.
我正在考虑添加诸如"所有名为Makefile的文件"或"所有*.py python脚本"之类的内容,但如果有某种方法告诉find只查找文本文件,那就更容易了.
如果你只是在所有文件上运行grep,它需要很长时间,并且你会在目标文件上获得大量无趣的点击.
grep -rI <path> <pattern>
Run Code Online (Sandbox Code Playgroud)
'-r'开关使grep递归,'-I'使它忽略二进制文件.
还有其他开关可以排除某些文件和目录(我经常这样做以排除svn元数据,例如)
| 归档时间: |
|
| 查看次数: |
4403 次 |
| 最近记录: |