一.前述
Linux中正則匹配查詢比較常用,所以分享一篇關於正則匹配和Grep結合的文章。
二.匹配規則
匹配操作符:
\ 轉義字元
. 匹配任意單個字元
[1249a],[^12],[a-k] 字元序列單字元佔位
^ 行首
$ 行尾
\<,\>:\<abc 單詞首尾邊界
| 連線操作符
(,) 選擇操作符
\n 反向引用
重複操作符:
? 匹配0到1次。
* 匹配0到多次。
+ 匹配1到多次。
{n} 匹配n次。
{n,} 匹配n到多次。
{n,m} 匹配n到m次。
與擴充套件正規表示式的區別:grep basic
\?, \+, \{, \|, \(, and \)
匹配任意字元 .*
三。示例
oxx12121212ooxx
ooxx 12121212
oox 12121212
1212 ooxx 1212
oo3xx
oo4xx
ooWxx
oomxx
$ooxx
oo1234xx
ooxyzxx
查詢有ooxx單詞的行
grep "\<ooxx\>" test.txt
查詢以ooxx開頭的單詞
查詢有數字的行
grep "[0-9]" test.txt;
grep "[34]" test.txt;
ps:【】是一個字元序列,佔位符。
查詢有4個數字的行
grep "[0-9]\{4\}" test.txt
ps:重複操作符,自定義的需要轉義。
查詢有4個數字的行,但前後都沒有數字的行
grep "[^0-9][0-9]\{4\}[^0-9]" test.txt
ps:^是取反的意思。