Shell 正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell 正则表达式相关的知识,希望对你有一定的参考价值。

  1. 基础正则表达式

    元字符作用
    *前一个字符匹配0次或任意多次
    .匹配除换行符以外的任意一个字符
    ^匹配行首。取反
    $匹配行尾
    []匹配中括号中制定的任意一个字符。例如:[0-9]匹配任意一个数字。[a-z]匹配任意一个小写字母
    [^]匹配除中括号字符以外的任意一个字符。例如:[^a-z]匹配任意一位非小写字母
    \转义符。例如:grep "\.$" test.txt 匹配以.结尾的行
    \{n\}表示其前面的字符恰好出现n次。例如:[0-9]\{4\}匹配4位的数字。1[3-8][0-9]\{9\}匹配手机号码
    \{n,\}表示其前面的字符出现不小于n次。例如:[0-9]\{2,\}匹配至少出现2位及以上的数字
    \{n,m\}表示其前面的字符至少出现n次,最多出现m次。例如:[a-z]\{4,6\}匹配4位到6位的小写字母

     

  2. 例子

    grep "a*" test.txt 注意:它匹配出现0次或任意多次的a,会输出所有内容

    grep "aa*" test.txt 匹配至少包含一个a的行

    grep "s..d" text.txt 匹配在s和d之间有2个字符的行

    grep "s.*d" text.txt 匹配s和d之间有任意字符

    grep ".*" text.txt 匹配所有内容

    grep -n "^$" text.txt 匹配空行并输出行号

    grep "^[a-z]" 匹配以小写字母开头的行

    grep "^[^a-zA-Z]" 匹配不以字母开头的行 



以上是关于Shell 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

shell编程之正则表达式基础正则表达式

shell (e)grep正则表达式问题

Shell 正则表达式

shell中的正则表达式

shell脚本编程之正则表达式(扩展正则表达式sed)

Linux Shell编程 - 正则表达式