grep
2016-06-26 11:51
337 查看
先来说说正则表达式
规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。
“正则表达式”就像“变量”一样,它 是一个广泛的概念,而不是某一种工具或编程语言的特性。
![](http://s2.51cto.com/wyfs02/M01/83/48/wKiom1dvND-xIn3QAABAskK7N7c706.png)
![](http://s1.51cto.com/wyfs02/M02/83/48/wKiom1dvOKnzTELjAAA_KsDFFSc414.png)
![](http://s4.51cto.com/wyfs02/M00/83/49/wKiom1dvQfegXXGeAABGc2LXiXE228.png)
![](http://s4.51cto.com/wyfs02/M02/83/48/wKioL1dvROyh25J3AAAdm0eeKz8613.png)
详解:http://www.cnblogs.com/afarmer/archive/2011/08/29/2158860.html
grep
1、简介
Linux系统中grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep可以找出符合某个模式(Pattern)的一类字符串
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
注意正则表达式参数用单引号括起来了,因为正则表达式中用到的很多特殊字符在Shell中也有特殊含义(例如\),只有用单引号括起来才能保证这些字符原封不动地传给grep命令,而不会被Shell解释掉。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊,它只搜索固定字符串而不搜索正则表达式模式,不会按正则表达式的语法解释后面的参数。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的正则表达式有Basic和Extended两种规范
2、格式
grep [-options]
3、参数及其含义
-V, --version 显示软件版本信息
-E 使用扩展规范
--color=auto 将匹配的关键字加上颜色显示
-e
-q,--quiet,--silent 不显示任何信息
-c 只显示匹配行的个数
-i 忽略大小写
-n 显示匹配行及行号
-v 显示除匹配行之外的所有行
-l 列出文件内容符合指定的范本样式的文件名称
-L 列出文件内容不符合指定的范本样式的文件名称
-m-a-s 不显示错误信息
实例:
1、字符类测试:
![](http://s4.51cto.com/wyfs02/M01/83/47/wKioL1dvNArhxDcWAAARcqVGZzk274.png)
![](http://s4.51cto.com/wyfs02/M00/83/47/wKioL1dvNAryInijAAAStpwgf6M235.png)
2、数量限定符测试:
![](http://s4.51cto.com/wyfs02/M00/83/47/wKioL1dvOMKwR1b4AAAaBGVk9Iw808.png)
3、位置限定符测试:
![](http://s1.51cto.com/wyfs02/M00/83/49/wKiom1dvQhuyaLBxAAAcAS2iNHY321.png)
![](http://s1.51cto.com/wyfs02/M02/83/49/wKiom1dvQxmxEFvGAAAn7gANAYw641.png)
测试:
1、-c选项
![](http://s2.51cto.com/wyfs02/M00/83/48/wKioL1dvToeyyJl3AAALsdNw5zk229.png)
2、-i选项
![](http://s2.51cto.com/wyfs02/M00/83/48/wKioL1dvToeBb1UmAAARJyuZ14Y892.png)
3、-n选项
![](http://s1.51cto.com/wyfs02/M00/83/49/wKiom1dvToiTZ92WAAAOmUqcdN8419.png)
4、-v选项
![](http://s2.51cto.com/wyfs02/M00/83/49/wKiom1dvTomCBDVMAAANVIDga0s740.png)
5、-l -L选项
![](http://s2.51cto.com/wyfs02/M02/83/48/wKioL1dvUK3idlQYAAAPOeA55Nw813.png)
本文出自 “零蛋蛋” 博客,谢绝转载!
规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。
“正则表达式”就像“变量”一样,它 是一个广泛的概念,而不是某一种工具或编程语言的特性。
![](http://s2.51cto.com/wyfs02/M01/83/48/wKiom1dvND-xIn3QAABAskK7N7c706.png)
![](http://s1.51cto.com/wyfs02/M02/83/48/wKiom1dvOKnzTELjAAA_KsDFFSc414.png)
![](http://s4.51cto.com/wyfs02/M00/83/49/wKiom1dvQfegXXGeAABGc2LXiXE228.png)
![](http://s4.51cto.com/wyfs02/M02/83/48/wKioL1dvROyh25J3AAAdm0eeKz8613.png)
详解:http://www.cnblogs.com/afarmer/archive/2011/08/29/2158860.html
grep
1、简介
Linux系统中grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep可以找出符合某个模式(Pattern)的一类字符串
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
注意正则表达式参数用单引号括起来了,因为正则表达式中用到的很多特殊字符在Shell中也有特殊含义(例如\),只有用单引号括起来才能保证这些字符原封不动地传给grep命令,而不会被Shell解释掉。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊,它只搜索固定字符串而不搜索正则表达式模式,不会按正则表达式的语法解释后面的参数。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的正则表达式有Basic和Extended两种规范
2、格式
grep [-options]
3、参数及其含义
-V, --version 显示软件版本信息
-E 使用扩展规范
--color=auto 将匹配的关键字加上颜色显示
-e
-q,--quiet,--silent 不显示任何信息
-c 只显示匹配行的个数
-i 忽略大小写
-n 显示匹配行及行号
-v 显示除匹配行之外的所有行
-l 列出文件内容符合指定的范本样式的文件名称
-L 列出文件内容不符合指定的范本样式的文件名称
-m-a-s 不显示错误信息
实例:
1、字符类测试:
![](http://s4.51cto.com/wyfs02/M01/83/47/wKioL1dvNArhxDcWAAARcqVGZzk274.png)
![](http://s4.51cto.com/wyfs02/M00/83/47/wKioL1dvNAryInijAAAStpwgf6M235.png)
2、数量限定符测试:
![](http://s4.51cto.com/wyfs02/M00/83/47/wKioL1dvOMKwR1b4AAAaBGVk9Iw808.png)
3、位置限定符测试:
![](http://s1.51cto.com/wyfs02/M00/83/49/wKiom1dvQhuyaLBxAAAcAS2iNHY321.png)
![](http://s1.51cto.com/wyfs02/M02/83/49/wKiom1dvQxmxEFvGAAAn7gANAYw641.png)
测试:
1、-c选项
![](http://s2.51cto.com/wyfs02/M00/83/48/wKioL1dvToeyyJl3AAALsdNw5zk229.png)
2、-i选项
![](http://s2.51cto.com/wyfs02/M00/83/48/wKioL1dvToeBb1UmAAARJyuZ14Y892.png)
3、-n选项
![](http://s1.51cto.com/wyfs02/M00/83/49/wKiom1dvToiTZ92WAAAOmUqcdN8419.png)
4、-v选项
![](http://s2.51cto.com/wyfs02/M00/83/49/wKiom1dvTomCBDVMAAANVIDga0s740.png)
5、-l -L选项
![](http://s2.51cto.com/wyfs02/M02/83/48/wKioL1dvUK3idlQYAAAPOeA55Nw813.png)
本文出自 “零蛋蛋” 博客,谢绝转载!
相关文章推荐
- JavaScript继承
- 4 使用Hibernate生成模型
- Adapter类型控件之ListView Item多布局的实现
- 利用采样器实现mapreduce任务输出全排序
- 流程控制语句--顺序结构
- JavaScript闭包(Closure)
- Android:Intent介绍 & 使用方法
- Java基础与案例开发详解のjava技术的两个核心
- 自定义Toolbar高度
- Problem F
- Oracle数据库的导出和导入
- java标识符
- Selective Search for Object Recognition----论文笔记
- RecyclerView完全解析
- 深入理解计算机中的 csapp,h和csapp.c
- 四大组件之一 --Services介绍和使用
- 数字的推理
- word怎么使用crtl+d删除一行
- 【GOF23设计模式】_迭代器模式_JDK内置迭代器_内部类迭代器JAVA244
- UEFI和Legacy及UEFI+Legacy启动的区别