标签:通配符 生成器 egrep ace 程序 语法 文本 选项 通配
1.grep程序
Linux下有文本处理三剑客 --grep sed awk
grep:文本行过滤工具
sed:文本行编辑器(流编辑器)
awk:报告生成器
grep
包含三个命令:gerp egrep fgrep ,它们是用来进行 行模式(pattern)匹配的
ergep=grep -E //使用扩展的正则表达式进行匹配
fgrep =fast grep //只是用文件通配符进行匹配
*grep默认使用正则表达式进行文本匹配*
grep的用法:
grep [option]...PATTERN [filename]
a*(在文件通配符里表示以a开头的任意字符)
grep的常见选项 -- option
-E 支持使用扩展的正则表达式(ERE)(regexp)
-P 使用per语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同甚至sed grep awk使用的regexp引擎也不相同)
-f 指定文件
-c 统计
-i 忽略大写小写
-v 进行反选
-o 仅仅输出匹配的内容(默认输出的是匹配到的行)
--color=auto 语法着色
-n 显示行号
PATTERN--正则表达式
作用:通过一些特殊的字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就需要\进行转义;
1.字符匹配
.任意一个字符(相当于文件通配符里?)
[ ] 范围内的任意一个字符
[^] 范围以外的任意一个字符
字符类:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]
2.次数匹配
* 匹配前面的字符0次到无数次
\?匹配前面的字符0次到1次
+ 匹配前面的字符1次到n次
\{m\} 匹配前面的字符m次
\{m,n\} 匹配前面的字符m到n次
\{0,n\}匹配前面的字符0次到n次
\{m,\}匹配前面的字符至少m次
3.位置锚定
^ 锚定行首
$ 锚定行尾
\b 锚定词首和锚定词尾
\>锚定词尾
\<锚定词首
<\root\> rooter
4.分组
abc* abcccc abc我们要看成一个整体
\(\) 示例:\(abc\)* abcabcabc abcccc
**分组特性:默认情况下,Linux系统会为分组指定变量,变量的表现形式\1\2 \3....
示例:\(ab+\(xy\)*\) 其中\1=ab+\(xy\)*,\2=xy
标签:通配符 生成器 egrep ace 程序 语法 文本 选项 通配
原文地址:https://www.cnblogs.com/azuressy/p/11350428.html