1.作用
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
2.格式
grep [options]
用到的四個文件名:
file1: hello world file2: hello Jim file3: hello lucy file4: 192.0.1222.45 192.1.45 192.23.46.289 41 192.168.1.168 109.*83.8.90 l32.890.54.20 file5: haha
3.主要參數及運用
(1).grep最簡單的使用方法,匹配一個詞:grep word filename
(2). 從多個文件中匹配:grep word filename1 filenam2 filename3
(3). -o:只打印匹配的字符
(4). -v:打印除匹配行之外的其他行
(5).-E:使用擴展正則表達式
(6). -e:匹配多個字符串模式
(7). -c:統計匹配字符串的行數
(8). -n:顯示行號
(9). -b:打印出匹配的字符串對其所在的行的起始位置的偏移量(從0開始),通常配合-o使用
(10). 當字符串在多個文件中匹配時,-l選項將只打印文件名
(11). -L與-l相對,只打印不匹配的文件名
(12). -i:忽略大小寫
(13). 遞歸搜索
(14). 打印匹配行上下文信息:
-A n :打印匹配行及其後n行信息;
-B n:打印匹配行及其前n行信息;
-C n:打印匹配行及其前後n行信息;
(15). -q:進入靜默模式,該模式下,grep命令運行目的僅僅是執行一個條件測試,通常在腳本中使用。通過檢查其返回值進行下一步操作。
(16)-Z選項在輸出匹配文件名時將以/0結尾配合xargs -0可以發揮很多作用,例如刪除匹配某個模式的文件,-Z通常和-l結合使用。
(刪除以file開頭的文件,file5被刪除)
4.grep的選項大全
-a 不要忽略二進制數據。 -A<顯示列數> 除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容。 -b 在顯示符合範本樣式的那一行之外,並顯示該行之前的內容。 -c 只輸出匹配行的計數。 -C<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。 -d<進行動作> 當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep命令將回報信息並停止動作。 -e<範本樣式> 指定字符串作爲查找文件內容的範本樣式。 -E 將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式。 -f<範本文件> 指定範本文件,其內容有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每一列的範本樣式。 -F 將範本樣式視爲固定字符串的列表。 -G 將範本樣式視爲普通的表示法來使用。 -h 在顯示符合範本樣式的那一列之前,不標示該列所屬的文件名稱。 -H 在顯示符合範本樣式的那一列之前,標示該列的文件名稱。 -i 不區分大小寫(用於單字符)。 -l 列出文件內容符合指定的範本樣式的文件名稱。 -L 列出文件內容不符合指定的範本樣式的文件名稱。 -n 在顯示符合範本樣式的那一列之前,標示出該行的行號。 -q 不顯示任何信息。 -R/-r 此參數的效果和指定“-d recurse”參數相同。 -s 不顯示錯誤信息。 -v 反轉查找,不顯示不包含匹配文本的所以有行。 -w 只顯示全字符合的列。 -x 只顯示全列符合的列。 -y 此參數效果跟“-i”相同。 -o 只輸出文件中匹配到的部分。
推薦網址:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html