Linux高级文本处理之正则表达式与grep(2)

为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。

[:alnum:]    #文字数字字符    [:alpha:]    #文字字符    [:digit:]    #数字字符    [:blank:] 空白字符(空格和制表符) [:graph:]    #非空字符(非空格、控制字符)    [:lower:]    #小写字符    [:cntrl:]    #控制字符    [:print:]    #非空字符(包括空格)    [:punct:]    #标点符号    [:space:]    #所有空白字符(新行,空格,制表符)    [:upper:]    #大写字符    [:xdigit:]   #十六进制数字(0-9,a-f,A-F)

5.使用实例:

实例1:查找指定进程

命令:

ps -ef|grep svn

输出:

1

2

3

4

 

[root@localhost ~]# ps -ef|grep svn

root 4943 1 0 Dec05 ? 00:00:00 svnserve -d -r /opt/svndata/grape/

root 16867 16838 0 19:53 pts/0 00:00:00 grep svn

[root@localhost ~]#

 

说明:

第一条记录是查找出的进程;第二条结果是grep进程本身,并非真正要找的进程。

实例2:查找指定进程个数

命令:

ps -ef|grep svn -c ps -ef|grep -c svn

输出:

[root@localhost ~]# ps -ef|grep svn -c 2 [root@localhost ~]# ps -ef|grep -c svn  2

实例3:从文件中读取关键词进行搜索

命令:

cat test.txt | grep -f test2.txt

输出:

[root@localhost test]# cat test.txt  hnlinux peida.cnblogs.com Ubuntu ubuntu linux RedHat Redhat linuxmint [root@localhost test]# cat test2.txt  linux Redhat [root@localhost test]# cat test.txt | grep -f test2.txt hnlinux ubuntu linux Redhat linuxmint

说明:

输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14365.html