一、正则表达式之grep与egrep 正则表达式:就是用一类字符所书写的模式(pattern)来描述选择的条件; grep:默认支持基本正则表达式 egrep:扩展正则表达式
二、grep,egrep基本语法
2.1 grep说明: grep [参数] "模式(pattern)" 文件(FILE) --color=auto :给被匹配到的字符串加上颜色; -v :反向选取,只显示不符合模式的行; -o:只显示被匹配到的字符串,而不是整行; -i:不区分大小写字母; -E:使用扩展正则表达式; (grep -E = egrep)
-A #:显示匹配到的后面的#行(eg: -A 2 ); -B #:显示匹配到的前面#行; -C #:显示匹配到的前后#行;
2.1.1) 基本正则表达式元字符: ^:锚定行首符合条件的内容; eg: grep "^ROOT" /etc/passwd $:锚定行尾符合条件的内容; eg: grep "ROOT$" /etc/passwd
注意:锚定行首行尾 ^ROOT$ 锚定空白行 ^$
.:匹配任意单个字符; *:匹配紧挨在前面的字符任意次(匹配0次,1次,2次...); .*:匹配任意长度的任意字符; eg: grep "ab.*ab" File
[]:匹配指定范围内的任意单个字符; eg: grep "[abc]" FILE [^]:匹配范围外的任意单个字符; [a-z]:匹配a到z小写字母任意单个字母; [A-Z]:匹配A到Z大写字母任意单个字母; [0-9]:匹配0到9数字任意单个数字; [:digit:]:所有数字,相当于0-9 [:lower:]:所有小写字母,相当于a-z [:upper:]:所有大写字母,相当于A-Z; [:alpha:]:所有的字母 [:alnum:]:所有字母,数字 [:space:]:空白字符 [:punct:]:所有标点符号 eg: grep "^[0-9][a-z]$" FILE
?:匹配紧挨在前面的字符0次或1次; {m,n}:匹配其前面的字符至少m次,至多n次; {0,n}:匹配至多n次,0-n次; {m,}:匹配至少m次; {m}:精确匹配m次; eg:grep "a{1,5}" FILE
&;:锚定词首 eg: grep "&;b" FILE
&;:锚定词尾 eg: grep "b&;" FILE
():分组 eg: grep (ab){1,3} FILE
2.2 egrep说明:
grep -E=egrep
2.2.1) 扩展正则表达式egrep元字符扩展,其余同上: +:匹配前面的字符至少1次; eg egrep "a+" FILE ?:匹配紧挨在前面的字符0次或1次;
eg grep-E "a?b" FILE
{m,n} :至少m次,至多n次; eg:egrep "a{1,5}" FILE
():分组,支持引用1,2 eg: egrep "(ab){1,3}.*1" FILE
a|b: 二选一,或者; eg:egrep "^s|S" FILE (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|