我编写了一个命令,成功返回所有包含关键字“字体”的 PDF 文件:
find /my/path/PDFFiles/ -type f -name "*.pdf" -exec grep -H "Font" '{}' ';'
我想克服这个命令的一些限制。
问题
- 我将如何在我目前正在做“字体”的搜索字符串中使用正则表达式
- 如何调整上面的命令以返回关键字“字体”不存在的所有文件名?
谢谢
1)grep
支持开箱即用的正则表达式。因此,只需摆脱""
. 例如,如果你想要“dont”或“font”
find /my/path/PDFFiles/ -type f -name "*.pdf" -exec grep -H "[df]ont" '{}' ';'
2)grep
还允许您使用-v
命令排除条目。因此,要排除“字体”,请尝试:
find /my/path/PDFFiles/ -type f -name "*.pdf" -exec grep -vH "Font" '{}' ';'
您还可以使用此问题中详述的find
s选项prune