为了在不同国家的字符编码中保持一至,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文件中读取出的关键词的内容行