2021-05-12 14:32:11
Linux常用命令 grep 入門基礎教學
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
//“{}”是特殊字元需要用“”跳脫
相關文章