• 每天进步一点点!

文章分类

推荐网站

常用手册

linux查找文本命令 grep(三)【原创】

<<返回

2011-11-11 16:43:27

一些特殊的选项:

 

  • -e 选项

通常,第一个非选项的参数会指定要匹配的模式。你也可以提供多个模式,只要将它们放在引号里并以换行符分割他们。模式以减号开头时,grep会混淆,而将它视为选项。这就是-e选项排上用场的时候。他可以提供其参数为模式---即使它以减号开头。

例一:

 grep -e 'boy' -e '^abc' test_grep.txt 

#abc     def     hic     lmn     abc
#You     are     a       good    boy

使用-e可以以此匹配多个模式。

 

例二:

 cat test_grep2.txt

-v

-l

-F

-f

grep '-v' test_grep2.txt 此时光标停在第二行,没有找到匹配行。这是因为grep将“-v”当做了选项,将test_grep2.txt当做了要匹配的模式,等在要求匹配的文件,因此在等待。此时用-e可以解决了

grep -e '-v' test_grep2.txt 
# -v

 

     

  • -f 选项

可以将所有匹配模式写到一个文件中,用-f选项后面跟上此文件,这样可以一次匹配多个模式。

cat pat_file

good

boy

[0-9]

 

grep -f pat_file test_grep.txt

#123     456     1.23    4.5     321
#You     are     a       good    boy
#you     are     a       good    girl
#you     are     not     a       good girl

 

  • -r 选项

-r选项可以沿着一个目录树递归向下查找。

 

例:

 

grep -r 'good' ./

./test/test1/test2.txt:good
./test/test1.txt:good
Binary file ./.gstreamer-0.10/registry.i686.bin matches
./install.log:安装 gstreamer-plugins-good-0.10.9-1.el5_3.2.i386
./pat_file:good

 

 

 

文章评论

  • 暂无评论

发表评论

昵称:

内容:

发表评论