在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > Linux正則表達(dá)式

            Linux正則表達(dá)式

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

            一,正則表達(dá)式

            1,正則表達(dá)式由一堆特殊符號和字母構(gòu)成----元字符

            本文引用地址:http://www.biyoush.com/article/202405/458943.htm

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

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

            • 擴(kuò)展正則表達(dá)式

            通常結(jié)合三個命令來使用:
            • grep

            • sed

            • awk

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

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

            • -E:使用擴(kuò)展

            • -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ū)別:
            通配符:針對文件名進(jìn)行匹配查找的
            正則表達(dá)式:針對文件的內(nèi)容進(jìn)行匹配查找的
            匹配行首: ^
            匹配行尾:$
            匹配單詞首部:/<
            匹配單詞尾部:/>

            二,正則表達(dá)式中元字符:

            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)用字符集的方式表達(dá)

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

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

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

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

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

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

            • [[:punct:]]:表示任意一個標(biāo)點(diǎn)符號

            • [[: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為結(jié)尾的行

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

            • n> 表示單詞尾部

            • ^$ 表示空白行

            8)分組

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

            • 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

            擴(kuò)展正則表達(dá)式:

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

            • 擴(kuò)展:

            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


            關(guān)鍵詞: Linux 代碼 PCB

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉