我正在检查一篇论文的参考文献,想找到正文中引用某篇论文(在参考文献列表中)的位置。有没有支持通过 bash 搜索并提取位置上下文的 PDF 编辑器?我尝试将 PDF 转换为文本,但效果不佳。
答案1
poppler 实用程序
笔记:xpdf 实用程序是一个过渡方案对于 poppler-utils。
您可以使用 poppler-utils。poppler-utils 是一套用于可移植文档格式 (PDF) 文件的工具。
要安装它,您可以使用 Ubuntu 软件中心,或单击以下内容:
pdfgrep
pdfgrep
可以在目录树中递归搜索 PDF 文件中的字符串或模式,计算匹配项或打印每个匹配项的一些上下文。例如,要keyword
在 中递归搜索/some directory
(不区分大小写):
pdfgrep -Ri keyword /some/directory
Pdfgrep 是一个在 PDF 文件中搜索文本的工具。其工作原理类似于“grep”。
特征:
- 搜索正则表达式。
- 支持一些重要的 grep 选项,包括:+ 文件名输出。+ 页码输出。+ 可选不区分大小写。+ 计数
出现次数。- 最重要的功能是:彩色输出!
1来源:Ubuntu 应用程序目录
答案2
只是为了补充上述答案,特别是您可以使用 xpdf-utils 中的名为 pdftotext 的命令行工具,然后使用 grep 搜索该工具创建的文本文档。
这可能看起来像这样:
pdftotext document.pdf - | grep -C5 -n -i "search term"
手册中有更多信息。pdftotext 的唯一缺点是不能使用通配符同时转换多个文件。这个问题可以用一个小的 bash 脚本来解决:
for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done
如果您由于 pdf 文件不兼容等原因而无法从 pdf 创建文本文档,那么这是另一个问题。
我认为一般来说,pdf 编辑器不包含命令行,因为它们是图形化的。如果您想使用 bash(或者可能是 zsh!),那么您可能必须使用终端 shell。
祝你好运!
答案3
要使用 pdfgrep 在多个 pdf 文件中搜索正则表达式:
find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;
其中路径是您的 pdf 文件的位置。