grep及正则表达式
时间:2015-12-20 01:00 来源:linux.it.net.cn 作者:IT
grep:根据模式,搜索文本,并将符合模式的文本显示出来
pattern:文本字符和正则表达式的元字符组合而成的匹配条件。
单引号:强引用
1
<br>
双引号:弱引用
-i :忽略大小写
1
<br>
--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
(责任编辑:IT)
grep:根据模式,搜索文本,并将符合模式的文本显示出来 pattern:文本字符和正则表达式的元字符组合而成的匹配条件。 单引号:强引用 1 <br> 双引号:弱引用 -i :忽略大小写 1 <br> --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 (责任编辑:IT) |