2024年11月Linux如何使用grep命令搜索文本文件(2)

发布时间:

  ⑴POSIX字符:

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

  ⑶[:alnum:] #文字数字字符

  ⑷[:alpha:] #文字字符

  ⑸[:digit:] #数字字符

  ⑹[:graph:] #非空字符(非空格、控制字符

  ⑺[:lower:] #小写字符

  ⑻[:trl:] #控制字符

  ⑼[:print:] #非空字符(包括空格

  ⑽[:punct:] #标点符号

  ⑾[:space:] #所有空白字符(新行,空格,制表符

  ⑿[:upper:] #大写字符

  ⒀[:xdigit:] #十六进制数字(-,a-f,A-F

  ⒁实例:查找指定进程

  ⒂命令:ps -ef|grep svn

  ⒃[rootlocalhost ~]# ps -ef|grep svn

  ⒄root Dec ? :: svnserve -d -r /opt/svndata/grape/

  ⒅root : pts/ :: grep svn

  ⒆[rootlocalhost ~]#

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

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

  ⒉ps -ef|grep svn -c

  ⒊ps -ef|grep -c svn

  ⒋[rootlocalhost ~]# ps -ef|grep svn -c

  ⒌[rootlocalhost ~]# ps -ef|grep -c svn

  ⒍[rootlocalhost ~]#

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

  ⒏命令:cat test.txt | grep -f test.txt

  ⒐[rootlocalhost test]# cat test.txt

  ⒑peida.blogs.

  ⒒ubuntu linux

  ⒓linuxmint

  ⒔[rootlocalhost test]# cat test.txt

  ⒕[rootlocalhost test]# cat test.txt | grep -f test.txt

  ⒖ubuntu linux

  ⒗linuxmint

  ⒘[rootlocalhost test]#

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

  ⒚实例:从文件中读取关键词进行搜索 且显示行号

  ⒛命令:cat test.txt | grep -nf test.txt