一.基礎正規表示式
grep:分析一行資訊,若其中有我們想要的資訊,就將該行取出來
grep [-acinv] '搜尋字串' filename
-a:將二進位制檔案以文字檔案的方式搜尋資料
-c:計算找到搜尋字串的次數
-i:忽略大小寫
-n:順便輸出行號
-v:反向選擇,即顯示出沒有'搜尋字串'內容的那一行
例子:last | grep 'root'
例子:last | grep -v 'root'
last | grep 'root'| cut -d ' ' -f 1
例1.搜尋特定字串
從檔案中取得'the'字串
grep -n 'the' filename
當該行沒有'the'就取出來
grep -nv 'the' filename
例2.利用搜尋集合字元
中不論有幾個字元都代表有乙個字元
grep -n 'te[ae]st' filename
[^]是的反向選擇
grep -n '[^g]oo' filename
例3.行首^和行尾$字元
查詢以'the'開頭的行
grep -n '^the' filename
查詢以小寫字母開頭
grep -n '^[a-z]' filename
查詢非字母開頭的
grep -n '^[^a-za-z]' filename
找出空行
grep -n '^$' filename
略去空行和注釋行
grep -v '^$' filename | grep -v '^#'
例4.任意乙個字元.和重複字元*
grep -n 'g..d' filename :查詢共有四個字串,開始是g結束是d
grep -n '000*' filename :至少倆個00字串
grep -n 'g00*g' filename :開頭和結尾都是g,中間有乙個以上o
grep -n 'g.*g' filename :開頭和結尾都是g,中間可有可無
找出任意數字的行 grep -n '[0-9][0-9]*' filename
例5.限定連續重複字元範圍
grep -n '0\' filename :找到兩個0的字串
grep -n 'go\g' filename :找到g後面有2~5個o,然後在接個g的字串
grep -n 'go\g' filename :找到兩個以上的
二.擴充套件正規表示式
上面的乙個例子可以這樣:egrep -v '^$|^#' filename找出不是空白行和注釋行
+:重複乙個或者乙個以上
?:0個或者1個
|:用或的方式找出字串
():找出使用者組字串grep -n 'g(la|oo)d' filename
意思是搜尋glad或者是good字串
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...