首頁 > 軟體

Linux常用命令 grep 入門基礎教學

2020-06-16 16:27:55

Linux系統中的grep命令是一種功能強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。grep全稱是Global Regular Expression Print,表示全域性正規表示式版本,它的使用許可權是所有使用者。

1、語法引數

grep [options]

[options]主要引數:

-c:只輸出匹配行的計數。
-i:表示不區分大小寫。
-h:查詢多檔案時不顯示檔名。
-l:查詢多檔案時只輸出包含匹配字元的檔名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文字的錯誤資訊。
-v:顯示不包含匹配文字的所有行,表示反向查詢。
--color=auto :可以將找到的關鍵詞部分加上顏色的顯示

2、範例:

1)查詢包含“png”的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'png' linuxmi.py

2)查詢不包含“png”的行

[linuxmi@linux:~/linuxmi迷]$ grep -vn 'png' linuxmi.py

3)查詢na前面不是v的字串

[linuxmi@linux:~/linuxmi迷]$ grep -n '[^v]na' linuxmi.py

4)查詢na前面不是小寫字母的字串

[linuxmi@linux:~/linuxmi迷]$ grep -n '[^a-z]na' linuxmi.py

5)^匹配以某個字元開頭的行。查詢以ba開頭的字串

[linuxmi@linux:~/linuxmi迷]$ grep -n '^ba' linuxmi.py

6)[^]匹配未包含的一個任意字元。查詢不以字母開頭的字串

[linuxmi@linux:~/linuxmi迷]$ grep -n '^[^a-zA-Z]' linuxmi.py

7)$匹配以某個字元結尾的行。查詢以:結尾的字串

[linuxmi@linux:~/linuxmi迷]$ grep -n '.$' linuxmi.py

//其中小數點“.”具有特殊意義,所以需要使用跳脫字元“”將具有特殊意義的字元轉化為普通字元

8)“.”匹配除rn外的任意一個字元。查詢l與k之間包含兩個字元的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'l..k' linuxmi.py

9)查詢包含連續e字母的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'eee*' linuxmi.py

//“*”表示的是重複零個或多個前面的單字元

10)查詢以l開頭以e結尾中間至少包含一個x的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'lxx*e' linuxmi.py

11)查詢以l開頭k結尾,中間的字元可有可無的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'l.*k' linuxmi.py

12){n}匹配確定的n次。查詢包含兩個e的行

[linuxmi@linux:~/linuxmi迷]$ grep -n 'e{2}' linuxmi.py

//“{}”是特殊字元需要用“”跳脫


IT145.com E-mail:sddin#qq.com