grep在pdf文件上正常工作吗?

grep在pdf文件上正常工作吗?,pdf,full-text-search,grep,Pdf,Full Text Search,Grep,是否可以使用“grep”命令搜索多个pdf文件。它似乎不起作用,人们如何在多个pdf文件上搜索内容?使用类似的东西,或者我认为他们可以做你想做的事情。pdf是一种二进制格式,这就是为什么用grep搜索没有多大帮助的原因。您可以使用grep搜索字符串,如下所示: ls dir_with_pdfs/*.pdf|xargs strings|grep "keyword" pdftotext whee.pdf | grep pattern 或者您可以在pdf上使用pdf2text命令,然后使用grep

是否可以使用“grep”命令搜索多个pdf文件。它似乎不起作用,人们如何在多个pdf文件上搜索内容?

使用类似的东西,或者我认为他们可以做你想做的事情。

pdf是一种二进制格式,这就是为什么用grep搜索没有多大帮助的原因。您可以使用grep搜索字符串,如下所示:

ls dir_with_pdfs/*.pdf|xargs strings|grep "keyword"
pdftotext whee.pdf | grep pattern

或者您可以在pdf上使用pdf2text命令,然后使用grep搜索结果

嗯,PDF是一种二进制格式,grep可以像搜索文本一样搜索二进制文件

grep -a
或者您可以像这样使用pdftotext(xpdf附带):

ls dir_with_pdfs/*.pdf|xargs strings|grep "keyword"
pdftotext whee.pdf | grep pattern

您没有提到正在使用的操作系统,但在Mac OS X下,您可以从命令行使用
mdfind

mdfind -onlyin search/directory/path "kind:pdf search text"

PDF是用于显示页面的对象的二进制转储。可能有一些元数据您可以grep,但实际的页面文本在Postscript流中,可以通过多种方式进行编码。它也不能保证任何顺序。您需要将PDF看作更像矢量图像文件而不是文本文件


中有一篇短文更详细地解释了PDF中的文本。如果您通过popplar软件包安装了pdftotext,请尝试以下perl脚本:

#!/usr/bin/perl
my $p = shift;
foreach my $fn (@ARGV) {
    open(F,"pdftotext $fn - |");
    while (<F>) { print "$fn:$_" if /$p/; }
    close(F);
}
#/usr/bin/perl
我的$p=班次;
foreach my$fn(@ARGV){
开放式(F,“pdftotext$fn-|”号);
while(){print“$fn:$"if/$p/;}
关闭(F);
}
此工具将完成此工作。它的语法类似于grep。要搜索多个文件,只需一个简单的shell脚本。例如:

$> ls Documents/*.pdf | xargs pdfgrep -n -H "system"
Documents/2005-DoddGutierrezRO-MAN1.pdf:1: designed episodic memory system
Documents/2005-DoddGutierrezRO-MAN1.pdf:1: how ISAC's episodic memory system is
Documents/2005-DoddGutierrezRO-MAN1.pdf:1: cognitive system employs a combination
....

我想通过pdftotext搜索也是一个可行的选择,我认为这在很大程度上取决于您实际试图实现的目标,这并不能说明这一点。如果你只是作为一个用户来做。。。如果我记得adobe acrobat允许您一次搜索多个pdf。感谢您提供的提示,我应该看到之前的adobe reader确实具有通过其“查看-->搜索”选项搜索多个文档的功能。我的印象是这不存在,因此正在查看grep命令。可能的重复我只是在这里寻找一个简单的搜索功能注意:在未来,简单搜索更多的是一个超级用户问题,我之所以回答这些问题,是因为这些都是可以通过编程方式实现的解决方案。只有在要搜索的文件名后面传递“-”时,我才能使此命令正常工作。i、 e.pdftotext whee.pdf-| grep pattern哦,奇怪的…-意味着stdout(这是你需要将文本传递给管道才能正常工作的地方),在我的shell中,你不需要指定afaik。这是我能找到的唯一可以在pdf文档中真正grep“notes”的技术。结果有点混乱,但很容易清理,至少技术可行+1.对不起,那完全是胡说八道!PDF通常使用压缩对象,即使对象未压缩,文本也仅部分以明文形式写入PDF中。