grep的用法

 grep 的用法
1 雙引號引用
在grep命令中輸入字符串參數時,最好將其用雙引號括起來
2 grep選項
常用的g r e p選項有:
-c 只輸出匹配行的計數。
-i 不區分大小寫(只適用於單字符)。
-h 查詢多文檔時不顯示文檔名。
-l 查詢多文檔時只輸出包含匹配字符的文檔名。
-n 顯示匹配行及行號。
-s 不顯示不存在或無匹配文本的錯誤信息。
-v 顯示不包含匹配文本的任何行。
3 精確匹配
使用grep抽取精確匹配的一種更有效方式是在抽取字符串後加/>。假定現在精確抽取48,則爲"48/>"
三 grep和正則表達式
使用正則表達式時最好用單引號括起來,這樣能夠防止grep中使用的專有模式和一些shell命令的特別方式相混淆。
1 模式範圍
假定要抽取代碼爲484和483的城市位置,上一章中講到能夠使用[ ]來指定字符串範圍,這裏用48開始,
以3或4結尾,這樣抽出484或483。grep '48[34]' data.f
2 不匹配行首
假如要抽出記錄,使其行首不是48,能夠在方括號中使用^記號,表明查詢在行首開始。
grep '^[^48]' data.f
3 匹配任意字符
假如抽取以L開頭,以D結尾的任何代碼,可使用下述方法,因爲已知代碼長度爲5個字符:
grep 'L...D' data.f
4 日期查詢
一個常用的查詢模式是日期查詢。先查詢任何以5開始以1 9 9 6或1 9 9 8結尾的任何記錄。使用模式5..199[6,8].這意味着第一個字符爲

5,後跟兩個點,接着是199,剩餘兩個數字是6或8。
grep '5..199[6,8]' data.f
查詢包含1998的任何記錄的另外一種方法是使用表達式[0-9]/[8],含義是任意數字重複3次,後跟數字8,雖然這個方法不像上一個方

法那麼精確,但也有一定作用。
5 使用grep匹配“和”或“或”模式
grep命令加- E參數,這一擴展允許使用擴展模式匹配。例如,要抽取城市代碼爲2 1 9或2 1 6,方法如下:
grep -E '219|216' data.f
6 空行
結合使用^和$可查詢空行。使用- n參數顯示實際行數:
grep '^$' data.f
7 grep 和類名的使用
類等價的正則表達式類等價的正則表達式
[[:upper:]] [A-Z] [[:alnum:]] [0-9a-zA-Z]
[[:lower:]] [a-z] [[:space:]] 空格或t a b鍵
[[:digit:]] [0-9] [[:alpha:]] [a-zA-Z]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章