grep文本提取工具和egrep及擴展的正則表達式
阿新 • • 發佈:2018-09-25
命令 提取 取出 技術分享 com fig 正則表達式 watermark 表達式
grep (文本過濾器)
可以在文本的前面也可以在後面
BRE
字符匹配: , [] [^]
次數匹配:*,\? \+ \{n\} \{n,m\}
位置錨定 \< \b 和\> \b 是一樣的
分組: \(\)
看作一個整體
向後引用: \1,\2,.......
以上分別匹配第一個和第二個左括號與其對應的右括號中間的內容進行應用
egrep = grep -E
擴展正則表達式的元字符
字符匹配
. 任意一個字符
[] 括號內的任意字符
[^] 除括號內的任意字符
次數匹配
* 0次或n次前面的字符
? :0或1次
+ : 一次或多次
{m}:匹配m次
{n,m}:匹配至少n次,做多m次
錨定:
^:行首
$:行尾
\< \b 左側錨定,錨定詞首
\> \b 右側錨定,錨定詞尾
分組:
()把括號內的看成一組數據可以引用他
反向引用, \1, \2.......
或者:
a|b:標識a或b
C|cat :表示C 或者cat
(C|c)at: 表示 Cat 或者cat
1、grep -E "^(root|centos|user1)" /etc/passwd | cut -d: -f 1,3,7
找到用戶名root suer1 centos 三個用戶的id和默認shell
2、使用echo輸出一個絕對路徑,然後取出器基名
3、找出ifconfig命令結果中1-255之間的數值
4、使用echo輸出一個絕對路徑,然後取出其目錄名,類似dirname的結果
grep文本提取工具和egrep及擴展的正則表達式