1、grep程序
1)命令:grep egrep fgrep,用来进行 行模式(pattern手动写)匹配的
egrep = grep -E //使用正则表达式进行匹配
fgrep = fast grep //只使用文件通配符进行匹配
*grep默认使用正则表达式进行文本匹配
2)用法:
grep[option]...PATTERN[filename]
3)常见选项(option):
-E 支持使用扩展的正则表达式(regexp)
-P 使用Perl语言的正则表达式引擎进行搜索(每种语言的正则表达式引擎都不相同,甚至grep、sed、awk使用的regexp的引擎也不相同)
-c 统计计数
*-i 忽略大小写
*-v 进行反选
*-o 仅仅输出匹配的内容(默认输出是匹配到的行)
--color=auto 语法zhuose
-n 显示行号
-w 匹配固定单词
2、PATTERN -- 正则表达式
作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,需要使用\来进行转义
文件通配符:
*:任意长度任意字符
?:任意一个字符
正则表达式:
1)字符匹配
.任意一个字符
| 或
[] 范围内任意一个字符
[^] 范围外任意一个字符
字符类:[:digit:][:alnum:][:alpha][:space:][:punct:]
2)次数匹配
\* 匹配前面的一个字符0次到n次
\?匹配前面的一个字符0次到1次
\+ 匹配前面的一个字符1次到n次
\{m\}匹配前面的一个字符m次
\{m,n\}匹配前面的一个字符m到n次
\{0,n\}匹配前面的字符0次到n次
\{m\}匹配前面一个字符至少m次
3)位置锚定
^ 锚定行首
$ 锚定行尾
\b 锚定词首和锚定词尾
\> 锚定词尾
\< 锚定词首 \<root\>
4)分组
\(\) 示例:\(abc\)* 把abc看成一个整体
*分组特性:默认情况下,Linux系统会为分组指定变量,变量的表示形式\1\2\3..
来源:oschina
链接:https://my.oschina.net/u/4354403/blog/3430009