grep与正则表达式入门简介

前端之家收集整理的这篇文章主要介绍了grep与正则表达式入门简介前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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”

$: 锚定行尾的符合条件的内容用法格式“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.例子

1.搜索/etc/passwd文件中包含"root"的行

113801704.png

2.搜索/etc/passwd文件中以"root"开头的行

114513209.png

3.搜索/etc/passwd文件中以"sh"结尾的行

114125449.png

4.显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行

115342524.png

要用好grep这个工具,其实就是要写好正则表达式,更多的是需要多多练习,希望大家一起共同进步.

原文链接:https://www.f2er.com/regex/362234.html

猜你在找的正则表达式相关文章