<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 正則表達式 正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式\(規則\)的文本。 [https://github.com/wzb56/13\_questions\_of\_shell/blob/master/15.regular-expression.md](https://github.com/wzb56/13_questions_of_shell/blob/master/15.regular-expression.md) # grep命令 因為本節正則大部分使用了grep命令,這里有必要介紹一下常用的兩個參數: * -E --extended-regexp * -o --only-matching 只顯示匹配的內容 # 基礎的正則表示式表格與案例 | 元字符 | 描述 | | ------ | ------ | | ^ | 匹配開頭的字符 | | $ | 匹配結尾的字符 | | . | 點將匹配任意字符 | | [ ] | 將匹配一個字符范圍,其中^表示取反,-表示取范圍 | | * | 將匹配零個或多個前面的項 | | + | 將匹配一個或多個前面的項 | | \(\) | 通常用于取一個單詞或者或者的情況,譬如\(glad\) 或 \(good\) 這兩個字串,通過\|來分割或的關系| | ? | 將匹配零個或一個前面的項 | | `{n}` | 將匹配 n 次前面的項 | | `{n,}` | 將匹配 n 次或更多前面的項 | | `{n,m}` | 將匹配在 n 和 m 次之間的項 | | `\` | 是一個轉義字符,當我們需要在我們的搜索中包含一個元字符時使用 | 更詳細案例: * ^ 匹配開頭的字符 ``` [root@blog.puppeter.com_centos ~]# cat /etc/passwd | grep -E "^root" root:x:0:0:root:/root:/bin/bash [root@blog.puppeter.com_centos ~]# cat /etc/passwd | grep -E "root" root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:994:991:Docker User:/var/lib/docker:/sbin/nologin ``` * $ 匹配結尾的字符 ``` [root@blog.puppeter.com_centos ~]# cat /etc/passwd | grep "root" root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:994:991:Docker User:/var/lib/docker:/sbin/nologin [root@blog.puppeter.com_centos ~]# cat /etc/passwd | grep "root" | grep "nologin$" operator:x:11:0:operator:/root:/sbin/nologin dockerroot:x:994:991:Docker User:/var/lib/docker:/sbin/nologin ``` * `.` 點將匹配任意字符 ``` [root@blog.puppeter.com_centos ~]# echo '1121、1122、112abc、1123131231' | grep -Eo '112.' 1121 1122 112a 1123 ``` * `[ ]`將匹配一個字符范圍,其中^表示取反,-表示取范圍 ``` [root@blog.puppeter.com_centos ~]# echo "a b c d " | grep -Eo '[abc]' a b c [root@blog.puppeter.com_centos ~]# echo "a b c d " | grep -Eo '[^abc]' d [root@blog.puppeter.com_centos ~]# echo "a b c d 1 2 3" | grep -Eo "[a-z]" a b c d ``` * `*`將匹配零個或多個前面的項 ``` [root@blog.puppeter.com_centos ~]# echo "112、1122、1122222、1123131231" | grep -Eo '1122*' 112 1122 1122222 112 ``` * `+`將匹配一個或多個前面的項 ``` [root@blog.puppeter.com_centos ~]# echo "abc abbc abbb" | grep -Eo 'ab+c' abc abbc ``` * \(\) 通常用于取一個單詞或者或者的情況,譬如\(glad\) 或 \(good\) 這兩個字串,通過\|來分割或的關系 ``` [root@blog.puppeter.com_centos ~]# echo "gland good group" | grep -Eo "g(lan|oo)d" gland good ``` * ?將匹配零個或一個前面的項 ``` [root@blog.puppeter.com_centos ~]# echo "ac abc " | grep -Eo 'ab?c' ac abc ``` * `{n}`將匹配 n 次前面的項 ``` [root@blog.puppeter.com_centos ~]# echo "abcdef aaacc aaca" | grep -Eo 'a{3}' aaa ``` * `{n,}`將匹配 n 次或更多前面的項 ``` [root@blog.puppeter.com_centos ~]# echo "abcdef aaacc aaaaca" | grep -Eo 'a{3,}' aaa aaaa ``` * `{n,m}`將匹配在 n 和 m 次之間的項 ``` [root@blog.puppeter.com_centos ~]# ifconfig | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' 127.0.0.1 10.65.86.40 10.65.86.255 ``` * `\`是一個轉義字符,當我們需要在我們的搜索中包含一個元字符時使用 ``` [root@blog.puppeter.com_centos ~]# echo "[]" | grep -Eo "\[\]" [] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看