一.在学习查询命令之前我们先要对正则表达式有所了解,因为查询命令常会用到正则表达式进行查询
正则表达式元字符
查询命令与正则表达式
查询命令与正则表达式
二.下面我们会就每一个查询命令对正则表达式的支持示范正则表达式的使用
1.grep
全称:global seach regular expression and print out the line,全面搜索正则表达式并打印。
命令格式:grep [options] “pattern” /path/to/file ,他会将包含patten的行全部显示出来
(1)Grep支持的元字符
查询命令与正则表达式
查询命令与正则表达式
^:定义匹配一某字符串开始的行
例如:
查询命令与正则表达式
$:匹配以某一字符串结尾
例如
查询命令与正则表达式
. :匹配任意字符
查询命令与正则表达式
*:匹配它前面的字符0次或多次
查询命令与正则表达式
\<:词首定位
\>:词尾定位
查询命令与正则表达式
\( \):分组后以便后便再次调用,调用时用\1,调用第一组,\2调用第二组··
若果分组中再嵌套分组(“\( \( \) \) ” ),则从左边起一层一层的调用
查询命令与正则表达式
查询命令与正则表达式
查询命令与正则表达式
2)grep的常用选项
-v:反向查找,只显示不匹配的行
-c:显示匹配到的行的数目,而不显示行的内容
-i:比较字符时忽略大小写的区别(即认为字母的大小写相等)
-n:在每一行前面加上它在文件中的相对行号
- -color=auto/always/never auto:匹配时自动显示颜色,always:匹配时总是显示颜色,
never:匹配时不显示颜色。
-Bx:从匹配行起再向前匹配x行。例如:-B2:除匹配行,再显示匹配行前面的两行。
-Ax:匹配行向后的x行。
-Cx:除匹配行,还有匹配行前后各x行内容。
-E:相当于egrep
(2). egrep
1)egrep 支持的正则表达式
查询命令与正则表达式
查询命令与正则表达式
3.linux还支持GUN grep和GUN egrep
GUN grep
查询命令与正则表达式
GUN grep 比grep多了\w ,\W
\w:匹配a-z A-Z 0-9 _这四种中的任意一个。
\W:相当于\w取反。
GNU egrep
查询命令与正则表达式
(4).grep在几种正则表示式不同应用的对比
Grep比egrep多了\(….\) x\(m\) x\(m,\) x\(m,n\) ,但没有了egrep的a|b ( )
+ ?
GUN grep比grep多了\m \M
GUN grep 比egrep多了 “(….) (….) \1 \2 ” x{m} x{m,} x{m,n}
GUN grep 比起 grep的标签匹配字符和定义匹配次数的符号都没有了\