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]" 匹配不以字母開頭的行 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章