linux正則表達有話說

2021-09-21 12:39:03 字數 1941 閱讀 8318

一、基本萬用字元

globbing:檔名萬用字元

*:任意長度的任意字元

?:任意單個字元

:匹配範圍內的任意單個字元

[^]:匹配範圍外的任意單個字元

二、文字處理工具之linux檔案處理三劍客 

linux文字三劍客:

1)grep:文字處理工具

2)sed:流編輯器

3)awk:文字報告生成器,格式化文字

三、正規表示式

正規表示式:regular experssion regexp

由一類特殊字元及文字所編寫的模式,其中有些字元不表示其字面意思,而是用於表示控制後通配的功能。

分兩類:

1)基本正規表示式:bre

2)擴充套件正規表示式:ere

grep命令:

grep, egrep, fgrep - print lines matching a pattern

grep [options] pattern [file...]

grep [options] [-e pattern | -f file] [file...]

常用選項:

-v:取反

-i:忽略大小寫

-e:擴充套件正規表示式

-o:僅顯示匹配到的字串本身

--color:顯示匹配到的字元顏色

-q:靜默模式,不輸出資訊在螢幕

-a:顯示匹配到的行的後n行,after之意

-b:顯示匹配到的行的前n行,before之意

-c:顯示匹配到的行的前後n行,context之意 

作用:文字搜尋工具,根據使用者指定的模式,對目標檔案逐行進行匹配檢查,列印匹配到的行

元字元:

^:行首

$:行尾

.:任意單個字元

:內的任意單個字元

[^]:除外的任意單個字元

*:*前面的字元重複0次或任意次

\+:\+前面字元重複一次或一次以上

\?:?前面字元重複0次或1次 

\:轉義字元 

.*:任意長度的任意字元

\:前面的字元出現n次

\:前面字元出現n次以上

\:前面的字元至少出現n次,最多出現m次 

\:前面的字元最多出現n次 

[:alpha:]:所有字母,包括大小寫

[:alnum:]:所有數字和字母 

[:upper:]:所有大寫字母

[:lower:]:所有小寫字母

[:digit:]:所有數字

[:punct:]:所有標點符號

[:space:]:所有空格和tab鍵

匹配次數:

用在要指定次數的字元後面,用於指定前面的字元要出現的次數

*:匹配其前面的字元任意次,包括0/1次或多次,貪婪模式,盡可能的長

.*:匹配其任意長度的任意字元

\?:匹配其前面的字元0次或1次

\+:匹配其前面的字元至少1次或多次

\:匹配其前面的字元m次

\:匹配其前面的字元至少m次

\:匹配其前面的字元至多m次

\:匹配其前面的字元至少m次,至多n次

位置錨定:

^:行首錨定

$:行尾錨定

^pattern$:用於模式匹配整行 

^$:空行 ^[[:space:]]*$:空白行

\<:詞首錨定

\>:詞尾錨定

分組:

\(\):將乙個或者多個字元**在一起,當做乙個整體進行處理,例如:\(root\)\+:表示root至少出現一次

分組括號中中的模式匹配到的內容會被正規表示式引擎記錄於內部的變數中,這些變數命名方式為:\1,\2,\3,...

\1:表示從左側起,第乙個左括號及與之匹配的右括號之間的模式所匹配到的字元

後向引用:引用前面的分組括號中的模式所匹配字元而非模式本身

新員工有話說

作為新入職的員工,講一講上班第一天感受吧 第一天上午很早就到公司了,然後前台小姐姐讓我在會議室等,陸陸續續來了幾個和我一起入職的新員工,然後手續辦完了就等測試老大把我們帶到各自的小組去。因為剛入職,需要去倉庫取裝置,電腦,主機啥的,拿到的電腦居然是linux系統,搞的我還換了個系統,然後就是專案相關...

博主有話說

看過我的部落格的朋友應該會注意到,裡面部分會帶有csdn的水印,這是怎麼回事呢?哈哈哈,當然啦,我絕對不是在別人的部落格裡盜的,之所以今天會連著發n多篇部落格,也是迫於無奈呀,為了組織的秘密只能把部落格遷到這裡來啦,而csdn部落格由於沒有許可權設定,就被我們無情地淘汰掉了。所以,某些博文需要密碼,...

Sam有話說 產品速度

sam有話說 產品速度 36kr,鳴謝 成功產品,產品方向 產品使用者群的定位都很關鍵。產品速度,也一樣。所有產品的過程,無外乎 圈人 圈地 圈錢 的線路。產品出來的速度,佔據市場的有利時效區域,更加顯得關鍵之至。產品的生死時速,是產品團隊 物件群體 產品理念與方向性 持續化運營之外的乙個大話題。恰...