标签:垂直 指定 单词 进制 linux 命名方式 控制 之间 变量
grep(grep: Global search REgular expression and Print out the line)用作文本搜索工具,旨在根据其Pattern逐行打印匹配到的行。其中pattern为由正则表达式元字符及文本字符所编写的过滤条件。用法相对简单即grep[OPTIONS] PATTERN [FILE]。匹配前面的字符任意次,包括0次
. 任意长度的任意字符
\? 匹配其前面的字符0或1次
+ 匹配其前面的字符至少1次
{n} 匹配前面的字符n次
{m,n} 匹配前面的字符至少m次,至多n次
{,n} 匹配前面的字符至多n次
{n,} 匹配前面的字符至少n次
用于指定前面一类或该个字符出现的次数。以上像?+?由于对shell来讲有特殊意义。所以用反斜线\则表示转义,取其统配字符中的意义而不取之前字符的意义,而是送给grep的解释。
具体次数可以使用{n}表示前面字符出现0-n次;{m,n}则表示m-n次。
三、再次提出需求,需要寻找r在行首的或者t在行位的,则需要进行行首或尾的锚定。则有
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
\< 或 \b 词首锚定,用于单词模式的左侧
\> 或 \b 词尾锚定;用于单词模式的右侧
\<PATTERN\> 匹配整个单词
例如:grep -i ‘crtl r [:alnum:] ?t‘
如果此时想进行数据分析统计数据个数则用管道 | wc -l统计出几个字符
四、正则表达式的分组 包括字符串连在一起表示一个的如下
分组:() 将一个或多个字符捆绑在一起,当作一个整体进行处理,如:(root)+
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1, \2, \3, ...
\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符
如: (string1+(string2))
\1 :string1+(string2)
\2 :string2
后向引用:引用前面的分组括号中的模式所匹配字符,而非模式本身
或者:|
如:a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
而crtl r这个键位还是比较好用的,可以模糊寻找/检索ls之类之前输入过的文件 crtl e 及alt b
标签:垂直 指定 单词 进制 linux 命名方式 控制 之间 变量
原文地址:http://blog.51cto.com/13889496/2151924