日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux模式匹配运算符,linux之正则表达式

發布時間:2024/7/23 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux模式匹配运算符,linux之正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件查找的需要:

grep:(GLOBAL Research) 根據模式(網)去搜索文本,而后將符合模式的文本行顯示出來。

【部分匹配,顯示時顯示一行】

Pattern:模式。(文本字符以及正則表達式元字符組合而成的匹配條件)

例子:grep‘root’/etc/passwd

grep所支持的選項:

-i:忽略大小寫

--color 顯示顏色

alias grep=’grep --color’

-v: 反向查找,顯示沒有被模式匹配的行

-o:只顯示被模式匹配出來的字符串,每個字符串顯示為一行。

回顧一下 globbing(文件名通配)

* :任意長度任意字符

?:任意單個字符

[]:指定范圍內的

[^]:指定范圍之外的

如何寫模式pattern?

正則表達式 Regular EXPression;REGEXP

元字符:

.:用點表示任意單個字符

grep‘r..t’/etc/passwd

[] :匹配指定范圍內的任意單個字符

[^]:匹配執行范圍之外的任意單個字符

字符集合:[:digit:] ?[:space::] ?[::upper::] ?[:lower:] ?[:alpha:] ?[:alnum:]

匹配次數:

* :匹配其前面的字符任意次

a,b,ab,aab,acb,adb,amnb,amnbamnbamnb

a*b : a出現任意次,后面跟個b

a.*b: a開頭,b結束,中間跟啥都行

.* :這才表示任意長度任意字符

(正則表達式是貪婪模式,盡可能長的匹配。)

\?:表示匹配它前面的字符0次或1次。

a\?b :a出現0次或1次,后面跟個b。

\{m,n\} :匹配其前的字符,至少m次,至多n次。

\{1,\}

\{1,3\}

grep‘a\{1,3\}b’test.txt

grep‘a.\{1,3\}b’test.txt

位置錨定:

^ :此字符后面的字符,必須出現在行首。

$ :錨定行尾,此字符前面的任意內容必須出現在行尾。

^$ : 這個表示空白行。

\

\>或b:錨定詞尾,其后面的任意字符必須作為單詞的尾部出現。

grep“root\>”test.txt

grep“\

grep“\”test.txt

grep“\broot\b”test.txt

分組:

\(\)

\(ab\)*:ab可以出現任意次。

實現分組的目的,是后面再次引用它。

\1:調用前面第一個小括號內容

\2

\3

例子:

He love his lover

She like her liker

He like his lover

要求前后一樣,匹配

l..e

grep‘\(l..e\).*\1’test.txt

grep‘\([[:digit:]]\).*\1$’test.txt

grep -E 擴展正則表達式

-A 顯示匹配行的下面的行顯示

-B 顯示匹配行的上面的行顯示

-C 顯示匹配行的上下的行顯示

grep --color -B 2‘^core id’/proc/cpuinfo

擴展正則表達式

字符匹配

.

[]

[^]

次數匹配

*

?:這里不用加反斜線

+ : (這個基本正則表達式沒有的)匹配其前面的字符至少一次。

+? 《===》*

(m,n): 擴展正則表達式不用使用轉義字符

位置錨定:

^

$

\>

\<

分組:

( ) 分組

\1,\2,\3

還支持或者

|:or

C|cat ?:表示C或者cat,表示整個左邊,整個右邊。

grep ?--color‘(C|c)at’test.txt

grep --color -E‘^[[:space:]]+’/boot/grub/grub.conf

grep -E ?=====> egrep

例子:

匹配0-255的數字。

egrep --color‘\’test.txt

例子:找IP地址

匹配(.)本身

\.

egrep‘(\\.){3}\’test.txt

IP 地址

A類1-127

B類128-191

C類192-223

D類

E類

匹配IP地址

分析:\(\.\){2}\.\

總結

以上是生活随笔為你收集整理的linux模式匹配运算符,linux之正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。