4.grep与正则表达式
Posted rubyonly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.grep与正则表达式相关的知识,希望对你有一定的参考价值。
grep与正则表达式
1、grep程序
Linux文本处理三剑客 -- grep sed awk
grep:文本 行过滤工具
sed:文本行编辑器(流编辑器)
awk:报告生成器,(做文本输出格式化)
grep
包含三个命令:grep egrep fgrep ,用来进行 行模式(pattern)匹配
egrep = grep -E //使用扩展的正则表达式进行匹配
fgrep = fast grep //只使用文件通配符进行匹配
*grep默认使用正则表达式进行文本匹配*
grep的用法:
grep [option]...PATTERN [filename]
grep的常见选项 -- option
-E 支持使用扩展的正则表达式(ERE) (regexp)
-P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep wak使用的regexp引擎也不相同)
-i 忽略大小写
-v 进行反选
-o 仅仅输出匹配的内容(默认输出的是匹配的行)
--color=auto 语法着色
-n 显示行号
-w 匹配固定单词
PATTERN--正则表达式
作用:通过一些特殊字符,来表示一类字符内容,然后交给前面命令来执行;如果使用特殊字符本身的含义,就需要 \\ 进行转义。
文件通配符(globbing)
* ? [ ] [^ ]
1、字符匹配
. 任意一个字符 ?
[] 范围内的任意一个字符
[^ ] 范围外任意一个字符
2、次数匹配
* 匹配前面的字符0次到无数次
?匹配前面的字符0次到1次
+ 匹配前面的字符1次到无数次
\\m\\ 匹配前面的字符m次
\\m,n\\ 匹配前面的字符m到n次
\\0,n\\ 匹配前面的字符0次到n次
\\m,\\ 匹配前面的字符至少m次
3、位置锚定
^ 锚定行首
$ 锚定行尾
\\b 锚定词首和锚定词尾
\\> 锚定词尾
<\\ 锚定词首
4、分组
\\(\\) 示例:\\(abc\\)* abcabcabc abcccc
**分组特性:默认情况下,Linux系统会分为分组指定变量,变量的表示形式 \\1 \\2 \\3...
以上是关于4.grep与正则表达式的主要内容,如果未能解决你的问题,请参考以下文章