grep和正則表達
先來說說正則表示式
規定一些特殊語法表示字元類、數量限定符和位置關係,然後用這些特殊語法和普通字元一起表示一個模式,這就是正則表示式(Regular Expression)。
“正則表示式”就像“變數”一樣,它 是一個廣泛的概念,而不是某一種工具或程式語言的特性。
改正:下面 ? 是前導單元匹配零次或一次
詳解:http://www.cnblogs.com/afarmer/archive/2011/08/29/2158860.html
grep
1、簡介
Linux系統中grep(global search regular expression(RE) and print out the line,全面搜尋正則表示式並把行打印出來)是一種強大的文字搜尋工具,它能使用正則表示式搜尋文字,並把匹配的行打印出來
grep可以找出符合某個模式(Pattern)的一類字串
grep的工作方式是這樣的,它在一個或多個檔案中搜索字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。
注意正則表示式引數用單引號括起來了,因為正則表示式中用到的很多特殊字元在Shell中也有特殊含義(例如\),只有用單引號括起來才能保證這些字元原封不動地傳給grep命令,而不會被Shell解釋掉。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴充套件,支援更多的re元字元, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表示式中的元字元表示回其自身的字面意義,不再特殊,它只搜尋固定字串而不搜尋正則表示式模式,不會按正則表示式的語法解釋後面的引數。linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令列選項來使用egrep和fgrep的功能。
grep的正則表示式有Basic和Extended兩種規範
2、格式
grep [-options]
3、引數及其含義
-V, --version 顯示軟體版本資訊
-E 使用擴充套件規範
--color=auto 將匹配的關鍵字加上顏色顯示
-e
-q,--quiet,--silent 不顯示任何資訊
-c 只顯示匹配行的個數
-i 忽略大小寫
-n 顯示匹配行及行號
-v 顯示除匹配行之外的所有行
-l 列出檔案內容符合指定的範本樣式的檔名稱
-L 列出檔案內容不符合指定的範本樣式的檔名稱
-m
-a
-s 不顯示錯誤資訊
例項:
2、數量限定符測試:
測試:
1、-c選項
2、-i選項
3、-n選項
4、-v選項
5、-l -L選項
轉載於:https://blog.51cto.com/lingdandan/1792970