Linux系統(tǒng)中的grep命令是一種功能強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
1、語法參數(shù)
grep [options]
[options]主要參數(shù):
-c:只輸出匹配行的計數(shù)。
-i:表示不區(qū)分大小寫。
-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
//其中小數(shù)點“.”具有特殊意義,所以需要使用轉義字符“”將具有特殊意義的字符轉化為普通字符
8)“.”匹配除rn外的任意一個字符。查詢l與k之間包含兩個字符的行
[linuxmi@linux:~/linuxmi迷]$ grep -n ‘l..k’ linuxmi.py
9)查詢包含連續(xù)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
//“{}”是特殊字符需要用“”轉義
更多Linux命令相關信息見Linux命令大全 專題頁面 http://www.haoyitu.cn/topicnews.aspx?tid=16