1. 程式人生 > >正則介紹 grep

正則介紹 grep

991118

正則介紹_grep

grep(上)
grep (縮寫來自Globally search a Regular Expression and Print)是一種強大的文本搜索工具,它能使用特定模式匹配(包括正則表達式)搜索文本,並默認輸出匹配行。
·
grep過濾指定關鍵詞,最簡單的用法:grep ‘關鍵詞’ 文件名(關鍵詞用單引號引起來)
技術分享圖片
·
-c行數
技術分享圖片
·
-n顯示行號
技術分享圖片
·
-i不區分大小寫
技術分享圖片
·
-v取反(過濾出不帶關鍵詞的行)
技術分享圖片
·
-r遍歷所有子目錄(如下圖就是列出etc目錄下所有含有yang字符的內容)
技術分享圖片
·
-A後面跟數字,過濾出符合要求的行以及下面n行(我們加個n看一下行號就容易了明白了)
技術分享圖片
·
-B後面跟數字,過濾出符合要求的行以及上面n行(我們加個n看一下行號就容易了明白了)

技術分享圖片
·
-C後面跟數字,過濾出符合要求的行以及上下面n行
·
·
·
grep(中)
過濾出passwd文件裏帶有數字的行。
技術分享圖片
·
grep -v 過濾出passwd文件裏帶有數字的行(因為passwd裏沒有不帶數字的行 所以直接不顯示)
技術分享圖片
·
grep -nv ‘^#‘ 過濾出inittab文件裏開頭不帶有#號的行。(加n是為了顯示行號)
技術分享圖片
·
grep ‘[^0-9]‘ 過濾出passwd文件裏非純數字的字符。(^放到方括號裏面就是“取反”或者“非”的意思,0-9可修改為a-z A-Z 任意字符)
技術分享圖片
·
·
grep(下)
過濾出passwd文件裏含有r.o的所有行。(點代表任意一個字符)
技術分享圖片
·
過濾出passwd文件裏含有o或oo或ooo等所有行,( 號表示左邊的字符重復n次,如果是重復0次,那麽就是一個o,因為還要加上右邊的一個o)
技術分享圖片
·
過濾出passwd文件裏含有任意一個字符重復任意次的行,(結果其實就是列出所有,“.
” 代表所有的字符)
技術分享圖片
·
過濾出passwd文件裏以yang開頭,並且以bash結尾的行。
技術分享圖片
·
過濾出passwd文件裏出現重復的兩個o(就是oo)的行。{}表示前面字符的重復範圍。
技術分享圖片
·
技術分享圖片
·
過濾出passwd文件裏出現重復的兩個oo(就是oooo)的行。小括號表示裏面的是一個整體。
技術分享圖片
·
加號意思和號差不多,不過號是0-n次,而加號表示1-n次。
技術分享圖片
·
加號後面也可以跟其他字符:
技術分享圖片
·
技術分享圖片
·
問號表示前面的字符重復0次或者1次。
技術分享圖片
`
豎線表示或者的意思。
技術分享圖片

正則介紹 grep