grep: global research regular and print out the line
文本搜索工具
正则表达式:
基本正则表达式:
扩展正则表达式:egrep or grep -E
--color=auto 着色
-i
-E like egrep
-P
-F
-o:仅显示匹配到的字符串
-q:静默模式
-A N:显示匹配到的行和接下来的N行,
-B N:匹配行和前面的N行
-C N:上下文,N行
基本正则表达式元字符:
字符匹配
. 任意单个字符
[] 匹配范围内的任意单个字符
[:digit:],[:lower:],[:upper:],[:alpha:],[:alnum:]
[:space:]
次数匹配
* 表示前面的字符重复零次或者多次 比如x*y,则表示x可以重复0次或者以上,重复0次表示没有x
工作于贪婪模式
.* # 表示任意长度的任意字符
a.*y # a和y中间可以有任意字符
\? #匹配0次或1次,可有可无
\+ #至少1次,多者不限
\{m\} #匹配前面的字符重复m次
实践:
任意字符重复3到5次,后面再跟个t:
grep "[[:alpha:]]\{3,5\}t" /etc/passwd
\{0,n\} #0到n次
\{m,\} #m次以上
位置锚定:
^ # 行首锚定
^root #行首为root
$ # 行尾锚定
实践:
找出行首以任意字母开头,1到3个字母后面出现t字母
grep ‘^[[:alpha:]]\{1,3\}t‘ /etc/passwd
原文:https://www.cnblogs.com/bright2029/p/11706880.html