我在这里搜索并找到了这个:
find /path -name '*.pdf' -exec pdftotext {} - \; | grep "your query"
但是,它会返回具有“您的查询”的 pdf 文件中的文本块。有一种方法可以返回文件名吗?
我在这里搜索并找到了这个:
find /path -name '*.pdf' -exec pdftotext {} - \; | grep "your query"
但是,它会返回具有“您的查询”的 pdf 文件中的文本块。有一种方法可以返回文件名吗?
这列出了其文本转换与您的查询匹配的所有文件:
find /path -name '*.pdf' -exec sh -c "pdftotext {} - | grep --label {} -l 'your query'" \;
正如 Neil 建议的那样:您可以使用该-l
选项。如果你也需要匹配数,你可以试试这个:
find /path -name '*.pdf' -exec pdftotext {} - \; | grep -H -c "your query"
该-H
选项打印文件名,该-c
选项打印计数。当然,您可以稍后删除计数。