标签:grep
grep:根据模式,搜索文本,并将符合模式的文本显示出来
pattern:文本字符和正则表达式的元字符组合而成的匹配条件。
单引号:强引用
双引号:弱引用
-i :忽略大小写
--color:匹配到结果加颜色
alias grep=‘grep --color‘
-v :显示没有被模式匹配到的行
-o: 只显示模式匹配到的字符串
-E:使用扩展正则表达式
-A n:显示匹配到的行及行后面的n行
-B n:显示匹配到的行及行前面的n行
-C n:显示匹配到的行及行前后面的n行
*:任意长度的任意字符
?:任意单个字符
正则表达式:REGular EXPreesion, REGEXP
元字符:
. :匹配任意单个字符
[] :匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[:digit:], [:lower:], [:upper:],[:space:]
匹配次数(贪婪模式):
*:匹配其前面的字符任意次
a , b,ab,aab, acb, adb, amnb
a*b : b, ab, aab
a.*b : ab , aab, acb , adb, amnb
.*:任意长度任意字符
\?:匹配其前面的字符1次或0次
\{m,n\}: 匹配其前面的字符至少m次,至多n次
\{0,3\}
位置锚定:
^:锚定首行,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符后面的任意内容必须出现在行尾
^$ :空白行
\<或\b:其后的任意字符必须作为单词首部出现
\>或\b:其前面的任意字符必须作为单词尾部出现
\<root\> 或 \broot\b:精确匹配
分组:
\(\)
\(ab\)* :ab作为整体,出现一次或多次
1\:引用第一个左括号以及与之对应的右括号中匹配到的内容
2\:
练习:分析/etc/inittab 文件中如下文本中前两行的特征,请写出可以精确到类似现行的模式。
11:1:wait:/etc/rc.d/rc 1
13: 3:wait:/etc/rc.d/rc 3
grep ‘^1\([0-9]\):1\.* 1\$‘ /etc/inittab
扩展正则表达式:
字符匹配:
.
[]
[^]
次数匹配:
*:
?:
+:匹配其前面字符至少1次
{m,n}
位置锚定:
^
$
\<
\>
分组:
():分组
\1,\2,\3,.....
或者:
| : or
C|cat : 匹配C或cat
(C|c)at: 匹配Cat或cat
标签:grep
原文地址:http://9384502.blog.51cto.com/9374502/1618080