<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

Linux正則表達式

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

一,正則表達式

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

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

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

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

  • 擴展正則表達式

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

  • sed

  • awk

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

  • -o:僅僅顯出所匹配的內容

  • -E:使用擴展

  • -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

例:統計a.txt文件中有多少個(gè)root

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

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

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

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

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

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

  • [0-9]匹配所有的數字

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

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

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

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

3)用字符集的方式表達

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

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

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

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

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

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

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

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

例:匹配一個(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行

  • -Bn:顯示匹配到的內容的前n行

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

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

6) 次數匹配

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

”?“表示其前面字符出現最多一次


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

  • -E a{m,n}b                      b前面的a至少出現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為結尾的行

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

  • n> 表示單詞尾部

  • ^$ 表示空白行

8)分組

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

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

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

例:在 11.txt 中,過(guò)濾出出現過(guò)倆個(gè)相同數字的行
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 [選項] 匹配內容 文件

  • 擴展:

  1. grep -E 匹配內容 文件

  2. egrep 匹配內容 

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

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

9)或:|

例:過(guò)濾出開(kāi)頭是 a (不區分大小寫(xiě))的行
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ù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>