1. 程式人生 > >linux grep及正則表示式

linux grep及正則表示式

grep:   Linux系統上處理文字的三劍客    grep:文字過濾(模式:pattern)工具;     grep、egrep、fgrep    sed:流編輯器,文字編輯工具;    awk:Linux上是gawk,文字報告生成器;可以把文字以更美觀的形式顯示出來;     grep:      作用:文字搜尋工具,根據使用者指定的“模式”對目標文字逐行進行匹配檢查;最後列印匹配到的行       模式:由正則表示式字元及文字字元所編寫的過濾條件;     REGEXP:由一類特殊字元及文字字元所編寫的模式,其中有些字元不表示字元字面的意思,而表示控制或通配的功能;     分兩類:      基本的正則表示式:BRE;      擴充套件的正則表示式:ERE;     正則表示式引擎:不同的命令工具可能引擎不同,搜尋的演算法不同;      選項:       grep [OPTIONS] PATTERN [FILE…]       -v:顯示模式匹配之外的內容;       -A:顯示匹配內容及其後面的N行;       -B:顯示匹配內容及其前面的N行;       -C:顯示匹配內容及其前後的N行;       -i:搜尋匹配模式時忽略字母大小寫;       -E:用擴充套件正則表示式搜尋;       -F:fgrep;       -o:僅顯示匹配到的字串;       -q:靜默模式,不輸出任何資訊;可以通過echo $?來檢視命令是否執行成功;     基本正則表示式元字元:      匹配字元       “.”:匹配任意字元;       [ ]:匹配範圍內的任意單個字元;       [^]:匹配範圍外的任意單個字元;man tr;      匹配次數       “*”:匹配前面字元任意次;       “.*”:匹配任意字元任意次;       \+:匹配前面字元最少一次;       \?:匹配前面字元最多一次;       \{m,n\}:匹配前面字元最少m次,最多n次;        多種用法:         \{m\}:匹配前面字元m次;         \{m,\}:匹配前面字元最少m次;         \{0,n\}:匹配前面字元最多n次;      位置錨定       ^:錨定行首;       $:錨定行尾;       ^PATTERN$:匹配符合模式要求的整行內容;       ^$:空行; ^[[:space:]]*$:       \<或\b:錨定詞首;       \>或\b:錨定詞尾;       \<PATTERN\>:匹配整個單詞;      分組       \( \):將一個或多個字元捆綁在一起,當做一個整體進行處理;       Note:分組括號中的模式匹配到的內容會被正則表示式引擎記錄到內部的變數中,變數的命名格式為:\1、\2、\3、…;        \1:從左邊開始,第一個左括號以及與之匹配的右括號之間的模式所匹配到的字元內容;       後向引用:引用前面分組括號中的模式所匹配的字元內容;(而非模式本身)

注:根據馬哥視訊做的學習筆記,如有錯誤,歡迎指正;侵刪