中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

        Linux正則表達(dá)式

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

        一,正則表達(dá)式

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

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

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

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

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

        通常結(jié)合三個(gè)命令來(lái)使用:
        • grep

        • sed

        • awk

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

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

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

        • -i:忽略大小寫(xiě)

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

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

        grep -o "root" a.txt

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

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

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

        1)匹配單個(gè)字符

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

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

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

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

        • [A-Z]匹配所有大寫(xiě)的字母

        • [a-z]匹配所有小寫(xiě)的字母

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

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

        3)用字符集的方式表達(dá)

        • [[:space:]]:表示一個(gè)空格

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

        • [[:lower:]]:表示任意一個(gè)小寫(xiě)字母

        • [[:upper:]]:表示任意一個(gè)大寫(xiě)字母

        • [[ :alpha: ]]:表示任意一個(gè)字母

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

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

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

        例:匹配一個(gè)包含小寫(xiě)字母的行
        grep [a-z] filegrep [[:lower:]] file

        4) ^[ ]

        例:匹配以 # 開(kāi)頭的行
        grep ^[#] file
        [^a] 匹配除了 a 以外的任意字符
        grep [^a] file
        例:過(guò)濾沒(méi)有包含 qaz 的行
        grep [^qaz] file

        例:過(guò)濾出#開(kāi)頭后面有一個(gè)空格的行

        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*
        ”.*“   表示任意長(zhǎng)度的任意字符
        例: 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為開(kāi)頭的行

        • $ 表示以n為結(jié)尾的行

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

        • n> 表示單詞尾部

        • ^$ 表示空白行

        8)分組

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

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

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

        例:在 11.txt 中,過(guò)濾出出現(xiàn)過(guò)倆個(gè)相同數(shù)字的行
        grep "([[:digit:]]).*1" 11.txt
        測(cè)試
        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)過(guò)1次

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

        9)或:|

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


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

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉