1. 程式人生 > >2018.1.15 6周1次課

2018.1.15 6周1次課

工具 stx mil weight fab 分享 abc lis -s

六周第一次課(1月15日)

9.1 正則介紹_grep上

9.2 grep中

9.3 grep下

在計算機科學中,對“正則表達式" 的定義是:它使用單個字符串來描述或匹配一系列符合某個句法規則的字符串。在很多文本編輯器或其他工具裏,正則表達式通常用來檢索和替換那些符合某個模式的文本內容。許多程序設計語言也都支持利用正則表達式進行字符串操作。對於系統管理員來講,正則表達式貫穿在我們的日常運維工作中,無論是查找某個文檔,還是查詢某個日誌文件並分析其容,都會用到正則表達式。

其實正則表達式只是一種思想、一種表示方法。只要我們使用的工具支持這種表示方法,那麽這個工具就可以處理正則表達式的字符串。常用的工具有grep、sed、awk等,其中grep、sed和都是針對文本的行進行操作的。

9.1 正則介紹_grep上

該命令的格式為:grep [-cinvABC]‘word’filename

常用的選項如下:

  • -c:表示打印符合要求的行數。

技術分享圖片

  • -i:表示不區分大小寫。

技術分享圖片

技術分享圖片

技術分享圖片

  • -n:表示輸出符合要求的行及其行號。

技術分享圖片

  • -v:表示打印不符合要求的行。

技術分享圖片

  • -r:遍歷所有子目錄。

  • -A:後面跟一個數字(有無空格都可以)。過濾出符合要求的行以及下面n行

技術分享圖片

  • -B:後面跟一個數字。過濾出符合要求的行以及上面n行

技術分享圖片

  • -C:後面跟一個數字。過濾出符合要求的行以及上面n行。

技術分享圖片

9.2 grep中

  • 方括號[ ]:匹配方括號裏任意一個字符

技術分享圖片

技術分享圖片

  • ^x:匹配以x開頭的字符

技術分享圖片

  • [^xyz]:非,匹配除方括號裏xyz之外的任意字符串

技術分享圖片

  • ^[^xyz]:匹配以除方括號裏xyz之外的任意字符開頭的字符

技術分享圖片

技術分享圖片

  • 點 .:匹配任意一字符

技術分享圖片

  • *:匹配星號左邊的字符重復0到n次的字符串。

技術分享圖片

  • .*:表示零個或多個任意字符,空行也包含再內。會把passwd文件裏面的所有行都匹配到。

9.3 grep下

  • 花括號 x\{ n\}:字符x重復n次。

技術分享圖片

  • x\{ n,m\}:字符x重復n-m次

技術分享圖片

egrep:是grep的擴展版本,可以完成grep不能完成的工作,可以不使用字符 \

技術分享圖片

grep –E 跟egrep使用效果一樣

技術分享圖片

技術分享圖片

  • +:匹配加號左邊的字符重復1到n次的字符串。

技術分享圖片

  • ?:問號前面的字符重復的次數是0或者1。

技術分享圖片

  • |:或者

技術分享圖片


2018.1.15 6周1次課