grep 是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。正則表達式
[root@www ~]# grep [-acinv] [--color=auto] '搜尋字符串' filename 選項與參數: -a :將 binary 文件以 text 文件的方式搜尋數據 -c :計算找到 '搜尋字符串' 的次數 -i :忽略大小寫的不一樣,因此大小寫視爲相同 -n :順便輸出行號 -v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行! --color=auto :能夠將找到的關鍵詞部分加上顏色的顯示喔!
一、將filename中包含w的行輸出來centos
[root@zhoucentos log]# grep w filename
wo ai wo jia
wo hen hao
da jia hao wo shi yi ge hao ren
二、把行號顯示出來工具
[root@zhoucentos log]# grep -n w filename 1:wo ai wo jia 3:wo hen hao 4:da jia hao wo shi yi ge hao ren
三、有多少行含有匹配的模式spa
[root@zhoucentos log]# grep -c wo filename 3
四、與正則表達式結合code
字符類的搜索:搜尋 test 或 taste 這兩個單字, [] 裏面不論有幾個字節,他都謹表明某『一個』字節blog
[root@zhoucentos log]# grep t[ae]st filename test is meng tast is huan
反向搜索-- 字符類的反向選擇 [^] :若是想要搜索到有 oo 的行,但不想要 oo 前面有 g,以下ci
[root@zhoucentos log]# grep -n '[^g]oo' filename 8:root is a super
行首與行尾字節 ^ $字符串
注意:ast
^ 符號,在字符類符號(括號[])以內與以外是不一樣的! 在 [] 內表明『反向選擇』,在 [] 以外則表明定位在行首的意義!class
只要行首是wo的行
[root@zhoucentos log]# grep -n ^wo filename 1:wo ai wo jia 3:wo hen hao
找出空白行----只有行首跟行尾 (^$)
[root@zhoucentos log]# grep -n '^$' filename 6: 9: 10:
任意一個字節 . 與重複字節 *
這兩個符號在正則表達式的意義以下:
. (小數點):表明『必定有一個任意字節』的意思;
* (星號):表明『重複前一個字符, 0 到無窮屢次』的意思,爲組合形態
[root@zhoucentos log]# grep -n 'g..d' filename
8:good is a gread