日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > Linux正則表達式

          Linux正則表達式

          作者: 時間:2024-05-20 來源:網(wǎng)絡 收藏

          一,正則表達式

          1,正則表達式由一堆特殊符號和字母構成----元字符

          本文引用地址:http://yuyingmama.com.cn/article/202405/458943.htm

          一些具有特殊含義的符號:? . * + ^ $ () {}

          作用
          1)對文本中內(nèi)容進行過濾
          2)對文件中的內(nèi)容進行過濾
          正則表達式的種類:
          • 基礎正則表達式

          • 擴展正則表達式

          通常結合三個命令來使用:
          • grep

          • sed

          • awk

          1,grep 命令:
          作用:對文件中的內(nèi)容進行過濾
          格式: grep 選項 匹配內(nèi)容 文件
          選項:
          • -v:取反

          • -o:僅僅顯出所匹配的內(nèi)容

          • -E:使用擴展

          • -i:忽略大小寫

          例:從 a.txt 文件中過濾出包含 root 的行
          grep "root" a.txt
          例:從 a.txt 文件中過濾出不包含 root 的行
          grep -v "root" a.txt

          例:從a.txt文件中過濾出僅僅顯示root的行

          grep -o "root" a.txt

          例:統(tǒng)計a.txt文件中有多少個root

          grep -o "root" a.txt |wc -w
          通配符和正則的區(qū)別:
          通配符:針對文件名進行匹配查找的
          正則表達式:針對文件的內(nèi)容進行匹配查找的
          匹配行首: ^
          匹配行尾:$
          匹配單詞首部:/<
          匹配單詞尾部:/>

          二,正則表達式中元字符:

          1)匹配單個字符

          .  表示任意一個字符(可以空格 逗號 字母 數(shù)字 ... )
          例:匹配 a 前面有一個字符的行
          grep ".a" 11.txt

          2)[ ]表示范圍內(nèi)中的一個

          • [123] 表示匹配1或2或3

          • [0-9]匹配所有的數(shù)字

          • [A-Z]匹配所有大寫的字母

          • [a-z]匹配所有小寫的字母

          • [a-Z]匹配所有的字母

          例:匹配文件中包含數(shù)字的行
          grep [0-9] file
          例:包含字母 a 的行
          grep "a" file

          3)用字符集的方式表達

          • [[:space:]]:表示一個空格

          • [[:digit:]]:表示任意一個數(shù)字

          • [[:lower:]]:表示任意一個小寫字母

          • [[:upper:]]:表示任意一個大寫字母

          • [[ :alpha: ]]:表示任意一個字母

          • [[ :alnum: ]]:表示任意一個字母+數(shù)字

          • [[:punct:]]:表示任意一個標點符號

          • [[:digit:][:space:]] 表示一個空格或者任意一個數(shù)字

          例:匹配一個包含小寫字母的行
          grep [a-z] filegrep [[:lower:]] file

          4) ^[ ]

          例:匹配以 # 開頭的行
          grep ^[#] file
          [^a] 匹配除了 a 以外的任意字符
          grep [^a] file
          例:過濾沒有包含 qaz 的行
          grep [^qaz] file

          例:過濾出#開頭后面有一個空格的行

          grep "^#[[:space:]]" 11.txt

          5)顯示匹配到的行的前的若干行

          • -An:顯示匹配到的內(nèi)容的后n行

          • -Bn:顯示匹配到的內(nèi)容的前n行

          • -Cn:顯示匹配到的內(nèi)容的前后各n行

          例:匹配包含 root 的行的前 3 行
          grep -B3 "root" file

          6) 次數(shù)匹配

          ”*“   前面字符出現(xiàn)了任意次數(shù)( 0.1.n ) 例子: a*
          ”.*“   表示任意長度的任意字符
          例: a.*b
          grep "a.*b" 11.txt

          ”?“表示其前面字符出現(xiàn)最多一次


          • a{m,n}b                        b前面的a至少出現(xiàn)m次,最多n次

          • -E a{m,n}b                      b前面的a至少出現(xiàn)m次,最多n次

          • grep -E "a{1,}b" 11.txt     b前面的a至少1次最多不限

          • grep -E "a{1,1}b" 11.txt   b前面的a1次

          • grep -E "a?b" 11.txt         b前面的a1次

          7)位置錨定

          • ^ 表示以n為開頭的行

          • $ 表示以n為結尾的行

          例:以 yum 為結尾的行
          grep "yum$" file
          • <n 表示單詞首部

          • n> 表示單詞尾部

          • ^$ 表示空白行

          8)分組

          •  將一個內(nèi)容當作一個整體看待

          • 1 引用第一個分組的內(nèi)容

          • 2 引用第二個分組的內(nèi)容

          例:在 11.txt 中,過濾出出現(xiàn)過倆個相同數(shù)字的行
          grep "([[:digit:]]).*1" 11.txt
          測試
          i love my loverhe love his likershe like her lovershe love her liker
          例:輸出前面一致的行,例如前后都是love或者前后都是like
          grep -E "(l..e).*1" 5.5xt

          擴展正則表達式:

          • 基礎正則:grep [選項] 匹配內(nèi)容 文件

          • 擴展:

          1. grep -E 匹配內(nèi)容 文件

          2. egrep 匹配內(nèi)容 

          文件{1,}:其前面的字符至少出現(xiàn)過1次

           + :其前面的字符至少出現(xiàn)過1次

          9)或:|

          例:過濾出開頭是 a (不區(qū)分大小寫)的行
          egrep "^(a|A)" 11.txtegrep "^[aA]" 11.txt
          測試對象
          sadfa cat asfasdf Cat a asdf
          例:匹配cat Cat
          grep -E "(c|C)at" 6.txtgrep -E "(cat|Cat)" 6.txt


          關鍵詞: Linux 代碼 PCB

          評論


          相關推薦

          技術專區(qū)

          關閉