Grep常用命令

 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

  Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrepfgrep


      过滤文本grep

  grep是一种强大的文本搜索工具命令,用于查找文件中的符合指定格式的字符串,支持正则表达式。如不指定任何文件名称,或是所给予的文件名为“—”,则grep命令从标准输入设备读取数据。grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展。fgrep就是fixed grep或fast grep,该命令使用任何正则表达式中的元字符表示其自身的字面意义,不再特殊。其中egrep就等同于“grep —E”,fgrep等同于“grep -F”。Linux中的grep功能强大,支持很多丰富的参数,可以方便地进行一些文本处理工作。

  grep单独使用时至少有两个参数,如少于两个参数,grep会一直等待,直到该程序被中断。如果遇到了这样的情况,可以按“Ctrl+c”终止。默认情况下只搜索当前目录,如果递归查找子目录,可使用“r”选项。

grep 命令:

-v 排除匹配的内容

[root@P1QMSMDW01 data]# ll -ths|grep -v q15
total 91M
8.0K -rw------- 1 gpadmin gpadmin 6.4K Jan  7 16:47 queries_now.dat
4.0K -rw------- 1 gpadmin gpadmin   28 Jan  7 16:47 database_now.dat
4.0K -rw------- 1 gpadmin gpadmin  308 Jan  7 16:47 database_tail.dat
   0 -rw------- 1 gpadmin gpadmin    0 Jan  7 16:47 iterators_now.dat
................

-E 支持扩展的正则表达式

[root@P1PL1RTM02 qms]# ip a|grep -E "([0-9]{1,3}\.){3}[0-9]"
    inet 127.0.0.1/8 scope host lo
    inet 10.50.10.152/24 brd 10.50.10.255 scope global bond0
 

-i 忽视大小写

-o 只显示匹配的内容

$  :  行结尾标志。例如:ben$ 表示匹配以ben结束的行。
[^] :匹配除[^字符]之外的任何一个字符。 例如9[^0], 不会匹配90,但是会匹配91,92等。



 

--color=auto 显示匹配颜色

-n 显示行号

发布了150 篇原创文章 · 获赞 46 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/MyySophia/article/details/103876130