zoukankan      html  css  js  c++  java
  • linux grep

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。

    作用:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。

    [root@localhost ~]# ps -ef|grep xfs
    xfs       3165     1  0 13:42 ?        00:00:00 xfs -droppriv -daemon
    root      3684  3552  0 14:25 pts/1    00:00:00 grep xfs

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

    grep的规则表达式:

    ^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。    

    $  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。    

    .  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。    

    *  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。    

    .*   #一起用代表任意字符。   

    []   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。    

    [^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    

    (..)  #标记匹配字符,如'(love)',love被标记为1。    

    <      #锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。    

    >      #锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。    

    x{m}  #重复字符x,m次,如:'0{5}'匹配包含5个o的行。    

    x{m,}  #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。    

    x{m,n}  #重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。   

    w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   

    W    #w的反置形式,匹配一个或多个非单词字符,如点号句号等。   

        #单词锁定符,如: 'grep'只匹配grep。

     实例1:从文件中查找关键词       命令:grep 'linux' test.txt

    [wzj@localhost ~]$ grep 'linux' test.txt
    linux
    ubuntu linux
    linuxmint
    [wzj@localhost ~]$ 

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

    命令:cat test.txt | grep -f test2.txt   # 输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行

    [wzj@localhost ~]$ cat test.txt
    linux
    ethon
    ubuntu
    ubuntu linux
    redhat
    Redhat
    linuxmint
    [wzj@localhost ~]$ cat test1.txt 
    linux
    Redhat
    [wzj@localhost ~]$ cat test.txt | grep -f test1.txt
    linux
    ubuntu linux
    Redhat
    linuxmint
    [wzj@localhost ~]$  #
  • 相关阅读:
    订单生成案例详解
    分页案例详解
    简单的多条件查询案例
    删除选中案例详解
    转账汇款案例
    登录操作记住用户名实现
    根据自定义异常来回显错误信息
    会话技术cookie和session详解
    JDBC
    Netty入门教程——认识Netty
  • 原文地址:https://www.cnblogs.com/wakey/p/4231775.html
Copyright © 2011-2022 走看看