我想在目录下的所有文件和目录中递归搜索某些字符串,例如library
.
我还想排除存储下载的网页但不是文件(我仍然感兴趣)的文件和目录.html
,.htm
例如:
- 文件名具有特定扩展名的文件,例如
.js
、.css
、.png
、.gif
、.jpeg
和 - 名称以 . 结尾的目录
_files
。
那么我该怎么做呢?我正在考虑使用locate
before find
,因为locate
更快,但我不知道locate
是否可以做到。谢谢。
答案1
像这样的事情可能会做你想要的:
find . -name '*_files' -type d -prune -o ! \( -name '*.js' -o -name '*.css' -o -name '*.png' -o -name '*.gif' -o -name '*.jpeg' \)
如果打印出合理的列表,则添加-print0 | xargs -o grep -i library
进行实际搜索。