• linux grep 的使用


    常用的 grep 选项有:
        -c 只输出匹配行的个数。
        -i 不区分大小写(只适用于单字符)。
        -h 查询多文件时不显示文件名。
        -l 查询多文件时只输出包含匹配字符的文件名。
        -n 显示匹配行及行号。
        -s 不显示不存在或无匹配文本的错误信息。
        -v 显示不包含匹配文本的所有行。
        -V 显示软件版本信息

    显示行号
        grep -n 11 *.ini

    grep 中的正则表达式

    可以通过加-E选项方式,也有不加-E

    grep 中的不加E正则表达式使用参考

    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。
             单词锁定符,如: 'grep'只匹配grep。

    使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。

    关于匹配的实例:
            grep -c "48" test.txt 统计所有以“48”字符开头的行有多少
            grep -i "May" test.txt 不区分大小写查找“May”所有的行)
            grep -n "48" test.txt 显示行号;显示匹配字符“48”的行及行号,相同于 nl test.txt |grep 48)
            grep -v "48" test.txt 显示输出没有字符“48”所有的行)
            grep "471" test.txt 显示输出字符“471”所在的行)
            grep "48<tab>;" test.txt 显示输出以字符“48”开头,并在字符“48”后是一个tab键所在的行
            grep "48[34]" test.txt 显示输出以字符“48”开头,第三个字符是“3”或是“4”的所有的行)
            grep "^[^48]" test.txt 显示输出行首不是字符“48”的行)
            grep "[Mm]ay" test.txt 设置大小写查找:显示输出第一个字符以“M”或“m”开头,以字符“ay”结束的行)
            grep "K…D" test.txt 显示输出第一个字符是“K”,第二、三、四是任意字符,第五个字符是“D”所在的行)
            grep "[A-Z][9]D" test.txt 显示输出第一个字符的范围是“A-D”,第二个字符是“9”,第三个字符的是“D”的所有的行
            grep "[35]..1998" test.txt 显示第一个字符是3或5,第二三个字符是任意,以1998结尾的所有行
            grep "4{2,}" test.txt 模式出现几率查找:显示输出字符“4”至少重复出现两次的所有行
            grep "9{3,}" test.txt 模式出现几率查找:显示输出字符“9”至少重复出现三次的所有行
            grep "9{2,3}" test.txt 模式出现几率查找:显示输出字符“9”重复出现的次数在一定范围内,重复出现2次或3次所有行
            grep -n "^$" test.txt 显示输出空行的行号
            ls -l |grep "^d" 如果要查询目录列表中的目录 同:ls -d *
            ls -l |grep "^d[d]" 在一个目录中查询不包含目录的所有文件
            ls -l |grpe "^d…..x..x" 查询其他用户和用户组成员有可执行权限的目录集合

  • 相关阅读:
    mac上python3安装HTMLTestRunner
    双目深度估计传统算法流程及OpenCV的编译注意事项
    深度学习梯度反向传播出现Nan值的原因归类
    1394. Find Lucky Integer in an Array
    1399. Count Largest Group
    1200. Minimum Absolute Difference
    999. Available Captures for Rook
    509. Fibonacci Number
    1160. Find Words That Can Be Formed by Characters
    1122. Relative Sort Array
  • 原文地址:https://www.cnblogs.com/ss-33/p/9182604.html
Copyright © 2020-2023  润新知