grep,global search regular expression(RE) and print out the line,是一种强大的文本搜索工具,他能使用正则表达式搜索文本,把匹配到的行打印出来。
grep语法: grep [OPTIONS] PATTERN [FILE...]
1.选项:
--color=auto匹配的字符高亮颜色显示
-v: 反向选取,只显示不符合模式的行;
-o: 只显示被模式匹配到的字串,而不是整个行;
-i: 不区分字符大小写;
-A #:显示匹配到的行时,顺带显示其后面的#个行;例: -A 2
-B #:前面的#行;
-C #:前后的#行;
-E: 使用扩展的正则表达式,grep -E = egrep
2.正则表达式的元字符
$: 锚定行尾的符合条件的内容,用法格式“pattern$”
.: 匹配任意单个字符
*:匹配紧挨在其前面的字符任意次
.*: 匹配任意长度的任意字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
\?: 匹配紧挨在其前面的字符0次或1次
\{m,n\}: 匹配其前面的字符至少m次,至多n次
\{0,n\}: 至多n次;0-n次
\{m,\}:至少m次
\{m\}: 精确匹配m次
\<: 锚定词首,用法格式:\<pattern
\>: 锚定词尾,用法格式:pattern\>
\(\): 分组,用法格式: \(pattern\),引用前面匹配到的字符集,使用\1引用
3.POSIX字符集
[:lower:]小写字符[a-z]
[:upper:]大写字符[A-Z]
[:digit:]数字字符[0-9]
[:alpha:]文字字符[A-Za-z]
[:alnum:]文字数字字符[A-Za-z0-9]
[:space:]空白字符
[:punct:]标点符号
4.例子
4.显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行
要用好grep这个工具,其实就是要写好正则表达式,更多的是需要多多练习,希望大家一起共同进步.
原文链接:https://www.f2er.com/regex/362234.html