grep文本过滤(模式:pattern)工具
grep[OPTIONS]PATTERN[FILE...]
基本正则表达式元字符
字符匹配: .:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[:alnum:]字母和数字
[:alpha:]代表任何英文大小写字符,亦即A-Z,a-z
[:lower:]小写字母[:upper:]大写字母
[:blank:]空白字符(空格和制表符)
[:space:]水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:]不可打印的控制字符(退格、删除、警铃...)
[:digit:]十进制数字
[:xdigit:]十六进制数字
[:graph:]可打印的非空白字符
[:print:]可打印字符
[:punct:]标点符号
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数; *:匹配前面的字符任意次
.*:任意长度的任意字符
?:匹配前面的字符一次或零次;即前面的可有可无
+:匹配前面的字符至少一次
{m}:匹配前面的字符m次
{m,n}:匹配前面的字符至少m次,至多n次;
{0,n}:匹配前面的字符至多n次
{m,}:匹配前面的字符至少m次
位置锚定: ^:行首锚定:用于模式的最左侧
$:行尾锚定;用于模式的最右侧;
^PATTERN$:用于匹配模式的整行;
^$:空行;
^[[:space:]]*$
&;或b;词首锚定;用于单词模式的左侧;
&;或b:词尾锚定;用于单词模式的右侧;
&;PATTERN&;:匹配整个单词;
分组: ():将一个或多个字符捆绑在一起,当作一个整体进行处理;
(xy)*ab
*Note:分组括号中的模式匹配到的内容会被正则表达式记录于内部的变量中,这些变量的命名方式为:1,2,3,...
1:从左侧起,第一个左括号以及与之匹配右括号之间的模式所匹配到的字符;
(ab+(xy)*):
1:ab+(xy)*
2;xy
后向引用:引用前面的分组括号中的模式所匹配字符,(而非模式本身)
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|