Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String grep如何返回结果,然后在打开时控制+;f找不到?_String_Search_Grep_Cygwin - Fatal编程技术网

String grep如何返回结果,然后在打开时控制+;f找不到?

String grep如何返回结果,然后在打开时控制+;f找不到?,string,search,grep,cygwin,String,Search,Grep,Cygwin,我运行了以下命令 grep -irln "mold" 在我的Windows7企业版计算机上使用cygwin对一个目录进行检查,它在一个特定的pdf文件中找到了一个匹配项。但是,当我通过adobe或chrome打开文件并执行control+f和mold搜索时,没有找到任何结果。此PDF已通过OCR服务。因此,我想我的问题是,grep怎么可能返回结果,但对打开的文件执行ctrl+f操作却什么也得不到?您似乎误解了grep查找文件中的每一个事件,而PDF文件是用标记语言编写的,用于呈现文本和图像的

我运行了以下命令

grep -irln "mold" 

在我的Windows7企业版计算机上使用cygwin对一个目录进行检查,它在一个特定的pdf文件中找到了一个匹配项。但是,当我通过adobe或chrome打开文件并执行control+f和mold搜索时,没有找到任何结果。此PDF已通过OCR服务。因此,我想我的问题是,grep怎么可能返回结果,但对打开的文件执行ctrl+f操作却什么也得不到?

您似乎误解了grep查找文件中的每一个事件,而PDF文件是用标记语言编写的,用于呈现文本和图像的图形外观。
以一个非常简单的文本文件为例

$ cat << EOF > example.txt
> one dog
> two cats
> three chickens
> EOF
因此,我们有3个文本相同的文件,但postscript和PDF在原始文本周围有其特定的标记语言。
现在如果我们让grep去找那只鸡

$ grep chicken example.*
example.ps:(three chickens) N
example.txt:three chickens
您可以看到PDF文件不包含纯文本形式的
chicken
。这是因为原始文本在PDF中被压缩


您的
mold
结果为假阳性。PDF中的文本已压缩,grep找不到它。

PDF不是纯文本文件,是吗?即使你是OCR-ed。谢谢,看来我确实误解了。感谢您的解释清楚,并举例说明,非常感谢。
$ grep chicken example.*
example.ps:(three chickens) N
example.txt:three chickens