文字處理三劍客之grep
阿新 • • 發佈:2018-12-17
grep:根據使用者指定的“模式”對目標文字進行匹配檢查,列印匹配到的行 模式:用正則表示式字元所編寫的過濾條件
grep [option] pattern [file...] --color=auto:對匹配到的文字著色顯示 -v:顯示不能夠被pattern匹配到的行 -i:忽略字元大小寫 -o:僅顯示匹配到的字串 -q:靜默模式,不輸出任何資訊 -A #:後#行 -B #:前#行 -C #:前後各#行 -E:使用ERE(擴充套件正則表示式) -n:行號
基本正則表示式元字元 字元匹配: .:匹配任意單個字元 []:匹配指定範圍內的任意單個字元 [^]:匹配指定範圍外的任意單個字元 [:digit:]:任意數字,相當於0-9 [:lower:]:任意小寫字母 [:upper:]:任意大寫字母 [:alpha:]:任意大小寫字母 [:alnum:]:任意數字或字母
匹配次數:用在要指定次數的字元後面,用於指定前面的字元要出現的次數 .:一定有一個任意字元 *:匹配前面的字元任意次(0到無窮多個) .*:任意長度的任意字元 \?:匹配其前面的字元0次或1次 \+:匹配前面的字元至少1次 \{m\}:匹配前面的字元m次 {}在shell中油特殊意義 \{m,n\}:匹配前面的字元字少m次,至多n次 \{0,n\}:匹配前面的字元至多n次 \{m,\}:匹配前面的字元至少m次
位置錨定: ^:行首錨定:用於模式的最左側 $:行尾錨定:用於模式的最右側 ^pattern$:用於模式匹配整行 ^$:空行 ^[[:space:]]*$ \< 或\b:詞首錨定:用於單詞模式的左側 \> 或\b:詞尾錨定:用於單詞模式的右側 \<pattern\>:匹配整個單詞