正則

9.1 正則介紹grep 上

1.PNG

2.PNG

以 nologin爲關鍵字過濾passwd

3.PNG

4.PNG

-v取反,除了nologin的行數

5.PNG

參數-A

6.PNG

參數 -B

7.PNG

-C

8.PNG

9.2 grep介紹中

9.PNG

grep '[0-9]' /etc/passwd

顯示passwd內的數字

grep -v '[0-9]' /etc/passwd

顯示除了帶數字的行

grep -v '^#' /etc/sos.conf

顯示不以#號開頭的行。'^#':以#開頭

grep '^[^a-zA-Z]' test.txt

顯示不以字母開頭的行 ^在中括號外表示以什麼什麼開頭。在中括號內表示括號內容取反

9.3 grep下

單引號的.表示任意一個字符。

單引號的*表示重複星號左邊的字符任意次。

單引號的.*表示任意長度字符。

grep和egrep的關係:

使用{} + ? |這些特殊符號時。grep需要在這些符號前加脫義符\

而egrep則不需要。egrep = grep -E

egrep 'o{2}' /etc/passwd

過濾o出現兩次的行

egrep 'o+' /etc/passwd

過濾o出現1-n次的行。

egrep 'oo?' /etc/passwd

過濾o”o0-1“次出現的行

egrep 'root|nologin" /etc/passwd

過濾帶有root或者nologin的行

9.4 sed 上

匹配功能:

sed -n '/root/'p test.txt

10.PNG

-n不顯示無關內容 p把結果輸出到屏幕

同grep一樣支持*和.的通配。

使用和egrep一樣的通配符時,加參數-r

11.PNG

打印指定的行

12.PNG

-e以多種條件匹配

9.5 sed下

13.PNG

參數大寫I不區分大小寫。

14.PNG

刪除文件內容

15.PNG

9.6 awk工具 上

16.PNG

head -n2 test.txt| awk -F ':' '{print $1}'

以:爲分隔符 顯示每行的第一段

head -n2 test.txt| awk -F ':' '{print $1}'

顯示所有的段

awk -F ':' {print $1"#"$2"#"$3"#"$4}

顯示1234段並以#分隔

awk '/oo/' test.txt

顯示包含oo的行

awk -F ':' '$1 ~ /oo/' test.txt

以:爲分隔符,顯示第一段包含oo的行

awk -F ':' '/root/ {print $1,$3} /test/ {print $1$3}' test.txt

以:爲分隔符,顯示包含root的行中的第一段和第三段,還有包含test行中的第一段和第三段。

數學運算表達式:

==等於 !=不等於 >=大於等於 <=小於等於

數字帶雙引號則以字符處理

9.7 awk工具 下






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章