分页: 1 / 1

grep命令的作用范围

发表于 : 2010-06-02 18:46
罗非鱼
似乎grep命令仅仅对txt文档搜索,比如
我的/home/pt/computer/文件夹中有好几个文件,都含有"字符",这两个字。
但是用这个命令
grep -rl "字符" /home/pt/computer/,就是搜索不出来。

Re: grep命令的作用范围

发表于 : 2010-06-02 19:06
millenniumdark
罗非鱼 写了:似乎grep命令仅仅对txt文档搜索,比如
我的/home/pt/computer/文件夹中有好几个文件,都含有"字符",这两个字。
但是用这个命令
grep -rl "字符" /home/pt/computer/,就是搜索不出来。
.html之类的也行,但是必须是文本文件。

Re: grep命令的作用范围

发表于 : 2010-06-02 19:12
eexpress
其实二进制也可以的。只要是有那文字。

Re: grep命令的作用范围

发表于 : 2010-06-02 20:37
罗非鱼
我可否将我要搜索的东西,转换成二进制的东西,然后再让它搜索?

Re: grep命令的作用范围

发表于 : 2010-06-02 21:22
BigSnake.NET
什么文件
doc 文件?

Re: grep命令的作用范围

发表于 : 2010-06-02 21:40
i_NIX
本来就是文本处理工具,LZ考虑一下吧。非文本的格式很难解析的

Re: grep命令的作用范围

发表于 : 2010-06-02 22:16
aerofox
什么文件都可以,但只能查原原本本匹配你要找的内容的东西。
例如在一个 pdf 文件中有“字符”这两个字挨在一起,但在文件中的表示却可能不这么简单,中间可能夹杂有别的内容,那么 grep 就找不到了。
再比如,在 html 文件中,“字符”和“<span>字</span><span>符</span>”显示出来都是一样的,但对于后者,用 grep 查“字符”是查不到的。
另外,grep 可以加 --binary-files=without-match,则遇到二进制文件时会自动不做查找,如果你把这个参数加到了 GREP_OPTIONS 环境变量中,那么 grep 就默认不查找二进制文件。

Re: grep命令的作用范围

发表于 : 2010-06-03 18:02
xieshaohu
aerofox 写了:什么文件都可以,但只能查原原本本匹配你要找的内容的东西。
例如在一个 pdf 文件中有“字符”这两个字挨在一起,但在文件中的表示却可能不这么简单,中间可能夹杂有别的内容,那么 grep 就找不到了。
再比如,在 html 文件中,“字符”和“<span>字</span><span>符</span>”显示出来都是一样的,但对于后者,用 grep 查“字符”是查不到的。
另外,grep 可以加 --binary-files=without-match,则遇到二进制文件时会自动不做查找,如果你把这个参数加到了 GREP_OPTIONS 环境变量中,那么 grep 就默认不查找二进制文件。
学习了。

Re: grep命令的作用范围

发表于 : 2010-06-04 7:50
alenbull
试试find /home/pt/computer/ -type f|xargs grep "字符"

Re: grep命令的作用范围

发表于 : 2010-06-04 23:31
THINKERCN
:em09 是文件就成,只要能够解释成指定的字符串。