shell擴充套件正規表示式

2021-10-10 15:06:15 字數 1383 閱讀 8190

+:匹配前面子表示式1次以上

例如:go+d,將匹配至少乙個o(如god,good,goood…)

?:匹配前面子表示式0次或者1次

例如:go?d,將匹配gd或god

():括號中的字串作為乙個整體

例如:(xyz)+,將匹配xyz整體1次以上,如xyzxyz

|:以或的方式匹配字條串

例如1:good|food,將匹配good或者food

例如2:g(oo|la)d,將匹配good或者glad

(g|f)ood good或者food則表示式

使用方法

查詢"wood" 「woood」 「wooood"等字串

egrep -n 『wo+d』 test.txt

查詢"bet」 「best」 這兩個字串

egrep -n 『bes?t』 test.txt

查詢"of" 或"if"或"on" 字串

egrep -n 『of|if|on』 test.txt

查詢"tast" 「test」 這兩個字串

egrep -n 『t(a|e)st』 test.txt

3.1 格式

awk 選項 『模式或條件』 檔案1 檔案2…. //過濾並輸出檔案中符合條件的內容

awk -f 指令碼檔案 檔案1 檔案2… //從指令碼中呼叫的編輯指令,過濾並輸出內容

##3.3 示例

按行輸出

1 輸出所有內容,等同於cat test.txt

awk 『』 test.txt

2 輸出所有內容,等同於cat test.txt

awk 『』 test.txt

3 輸出第1~3行內容

awk 『nr1,nr3』 test.txt

4 輸出第1~3行內容

awk 『(nr>=1)&&(nr<=3)』 test.txt

5 輸出第1行,第3行的內容

awk 『nr1||nr3』 test.txt

按欄位輸出

1 輸出每行中(以空格或製表符分隔)的第三個字段

awk 『』 test.txt

2 輸出每行中第1,3個字段

awk 『』 test.txt

3 輸出密碼為空的使用者的shadow記錄

awk -f: 『$2=="!!"』 /etc/shadow

4 輸出密碼為空的使用者的shadow記錄

awk 『begin ; $2=="!!"』 /etc /shadow

5 輸出以冒號分隔且第7個字段中包含/bash的行的第乙個字段

awk -f: 『$7~"/bash"』 /etc/passwd

擴充套件正規表示式

事實上,一般實驗者只需要熟悉基礎的正規表示式就足夠了。不過有時候為了簡化命令操作,了解一些使用範圍更廣的擴充套件表示式,會更加方便。正規表示法 grep v regular express.txt grep v 需要使用到管線命令來搜尋兩次!那麼如果使用延伸型的正規表示法,我們可以簡化為 egrep...

擴充套件正規表示式

使用egrep或者grep e 一般都是使用egrp 語法 擴充套件正規表示式 re字元 意義與範例 重複乙個或者乙個以上的前乙個字元 egrep n go d regular express.txt 零個或者乙個前乙個字元 egrep n go?d regular express.txt or的意...

擴充套件正規表示式

擴充套件正規表示式 1.顯示三個使用者root,cisco,ccnp的uid和預設shell 普通正規表示式與擴充套件正規表示式 17 27 08 root localhost data cat etc passwd grep root b ccnp b cisco b cut d f1,3,7 r...