国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - linux awk 正則表達式、正則運算符詳細介紹

linux awk 正則表達式、正則運算符詳細介紹

2019-11-24 19:35Linux教程網 Linux

使用awk作為文本處理工具,正則表達式是少不了的。 要掌握這個工具的正則表達式使用。其實,我們不必單獨去學習它的正則表達式。正則表達式就像一門程序語言,有自己語法規則已經表示意思

使用awk作為文本處理工具,正則表達式是少不了的。 要掌握這個工具的正則表達式使用。其實,我們不必單獨去學習它的正則表達式。正則表達式就像一門程序語言,有自己語法規則已經表示意思。 對于不同工具,其實大部分表示意思相同的。在linux眾多文本處理工具(awk,sed,grep,perl)里面用到正則表達式。其實就只有3種類型。詳細可以參考:linux shell 正則表達式(BREs,EREs,PREs)差異比較 。只要是某些工具是屬于某種類型的正則表達式。那么它的語法規則基本一樣。 通過那篇文章,我們知道awk的正則表達式,是屬于:擴展的正則表達式(Extended Regular Expression 又叫 Extended RegEx 簡稱 EREs)。

一、awk Extended Regular Expression (ERES)基礎表達式符號介紹
 

 

字符

功能

+

指定如果一個或多個字符或擴展正則表達式的具體值(在 +(加號)前)在這個字符串中,則字符串匹配。命令行:

awk '/smith+ern/' testfile

將包含字符 smit,后跟一個或多個 h 字符,并以字符 ern 結束的字符串的任何記錄打印至標準輸出。此示例中的輸出是:

smithern, harry smithhern, anne

?

指定如果零個或一個字符或擴展正則表達式的具體值(在 ?(問號)之前)在字符串中,則字符串匹配。命令行:

awk '/smith?/' testfile

將包含字符 smit,后跟零個或一個 h 字符的實例的所有記錄打印至標準輸出。此示例中的輸出是:

smith, alan smithern, harry smithhern, anne smitters, alexis

|

指定如果以 |(垂直線)隔開的字符串的任何一個在字符串中,則字符串匹配。命令行:

awk '/allen | alan /' testfile

將包含字符串 allen 或 alan 的所有記錄打印至標準輸出。此示例中的輸出是:

smiley, allen smith, alan

( )

在正則表達式中將字符串組合在一起。命令行:

awk '/a(ll)?(nn)?e/' testfile

將具有字符串 ae 或 alle 或 anne 或 allnne 的所有記錄打印至標準輸出。此示例中的輸出是:

smiley, allen smithhern, anne

{m}

指定如果正好有 m 個模式的具體值位于字符串中,則字符串匹配。命令行:

awk '/l{2}/' testfile

打印至標準輸出

smiley, allen

{m,}

指定如果至少 m 個模式的具體值在字符串中,則字符串匹配。命令行:

awk '/t{2,}/' testfile

打印至標準輸出:

smitters, alexis

{m, n}

指定如果 m 和 n 之間(包含的 m 和 n)個模式的具體值在字符串中(其中m <= n),則字符串匹配。命令行:

awk '/er{1, 2}/' testfile

打印至標準輸出:

smithern, harry smithern, anne smitters, alexis

[String]

指定正則表達式與方括號內 String 變量指定的任何字符匹配。命令行:

awk '/sm[a-h]/' testfile

將具有 sm 后跟以字母順序從 a 到 h 排列的任何字符的所有記錄打印至標準輸出。此示例的輸出是:

smawley, andy

[^ String]

在 [ ](方括號)和在指定字符串開頭的 ^ (插入記號) 指明正則表達式與方括號內的任何字符匹配。這樣,命令行:

awk '/sm[^a-h]/' testfile

打印至標準輸出:

smiley, allen smith, alan smithern, harry smithhern, anne smitters, alexis

~,!~

表示指定變量與正則表達式匹配(代字號)或不匹配(代字號、感嘆號)的條件語句。命令行:

awk '$1 ~ /n/' testfile

將第一個字段包含字符 n 的所有記錄打印至標準輸出。此示例中的輸出是:

smithern, harry smithhern, anne

^

指定字段或記錄的開頭。命令行:

awk '$2 ~ /^h/' testfile

將把字符 h 作為第二個字段的第一個字符的所有記錄打印至標準輸出。此示例中的輸出是:

smithern, harry

$

指定字段或記錄的末尾。命令行:

awk '$2 ~ /y$/' testfile

將把字符 y 作為第二個字段的最后一個字符的所有記錄打印至標準輸出。此示例中的輸出是:

smawley, andy smithern, harry

. (句號)

表示除了在空白末尾的終端換行字符以外的任何一個字符。命令行:

awk '/a..e/' testfile

將具有以兩個字符隔開的字符 a 和 e 的所有記錄打印至標準輸出。此示例中的輸出是:

smawley, andy smiley, allen smithhern, anne

*(星號)

表示零個或更多的任意字符。命令行:

awk '/a.*e/' testfile

將具有以零個或更多字符隔開的字符 a 和 e 的所有記錄打印至標準輸出。此示例中的輸出是:

smawley, andy smiley, allen smithhern, anne smitters, alexis

\ (反斜杠)

轉義字符。當位于在擴展正則表達式中具有特殊含義的任何字符之前時,轉義字符除去該字符的任何特殊含義。例如,命令行:

/a\/\//

將與模式 a // 匹配,因為反斜杠否定斜杠作為正則表達式定界符的通常含義。要將反斜杠本身指定為字符,則使用雙反斜杠。有關反斜杠及其使用的更多信息,請參閱以下關于轉義序列的內容。

 


與PERs相比,主要是一些結合類型表示符沒有了:包括:”\d,\D,\s,\S,\t,\v,\n,\f,\r”其它功能基本一樣的。 我們常見的軟件:javascript,.net,java支持的正則表達式,基本上是:EPRs類型。

二、awk 常見調用正則表達式方法

awk語句中:

 

復制代碼

代碼如下:


awk ‘/REG/{action}’
/REG/為正則表達式,可以將$0中,滿足條件記錄 送入到:action進行處理.

 

awk正則運算語句(~,~!等同!~)

 

復制代碼

代碼如下:


[chengmo@centos5 ~]$ awk 'BEGIN{info="this is a test";if( info ~ /test/){print "ok"}}'
ok

 

awk內置使用正則表達式函數

 

復制代碼

代碼如下:


gsub( Ere, Repl, [ In ] )
sub( Ere, Repl, [ In ] )
match( String, Ere )
split( String, A, [Ere] )

 

詳細函數使用,可以參照:linux awk 內置函數詳細介紹(實例)

通過上面細述,不知道大家有沒有對awk正則表達式有一個更加清楚的認識。 有什么問題可以與我交流!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美精品黄色 | 一区二区三区在线免费观看 | 在线播放一区二区三区 | 国产区一区 | 精品96久久久久久中文字幕无 | 久久精品视频一区 | 午夜操操 | 午夜精品一区二区三区免费视频 | 欧美日韩高清在线一区 | 色综合久久久 | 日韩精品www| 日韩无在线 | t66y最新地址一地址二69 | 国产福利一区二区三区视频 | 日韩精品一区二区三区在线 | 欧美在线视频一区二区 | 日本高清不卡视频 | 成人a视频 | 在线国产视频 | 日韩欧美精品一区二区三区 | 亚洲va中文字幕 | 国产另类ts人妖一区二区 | 亚洲精品www久久久久久广东 | 欧美日韩亚洲系列 | 国产日韩精品一区二区 | 午夜www| 日韩精品成人 | 精品在线播放 | 亚洲不卡视频在线 | 日韩第一区 | 国产欧美日韩综合精品一区二区 | 亚洲欧美日韩在线 | 99久久久国产精品 | 黄色av网站在线观看 | 欧美大逼 | 亚洲在线中文字幕 | 中文字幕第18页 | 欧美国产日韩一区 | 国产毛片18片毛一级特黄日韩a | 99视频在线播放 | jizz亚洲女人高潮大叫 |