Shell基本语法---处理海量数据的grep命令
2024-09-03 19:31:51
grep命令
- shell脚本三剑客之一
grep应用场景:通常对数据进行 行的提取
语法:grep [选项] [内容] [file]
-v 对内容进行取反提取
-n 对提取的内容显示行号
-w 精确匹配
-i 忽略大小写
^ 匹配开头行首
-E 正则匹配
正则语法
正则表达式 | 描述 | 例子 |
\ | 转义符,将特殊字符进行转义,忽略其特殊意义 | a.b匹配a.b,但不能匹配ajb,.被转义为特殊意义 |
^ | 匹配行首,^则是匹配字符串的开始 | ^tux匹配以tux开头的行 |
$ | 匹配行尾,$则是匹配字符串的结尾 | tux$匹配以tux结尾的行 |
. | 匹配除换行符\n之外的任意单个字符 | ab.匹配abc或bad,不可匹配abcd或abde,只能匹配单字符 |
[] | 匹配包含在[字符]之中的任意一个字符 | coo[kl]可以匹配cook或cool |
[^] | 匹配字符之外的任意一个字符 | 12345不可以匹配1234或1235,1236、1237都可以 |
[-] | 配[]中指定范围内的任意一个字符,要写成递增 | [0-9]可以匹配1、2或3等其中任意一个数字 |
? | 匹配之前的项1次或者0次 | olou?r可以匹配color或者colour,不能匹配colouur |
+ | 匹配之前的项1次或者多次 | sa-6+匹配sa-6、sa-666,不能匹配sa- |
* | 匹配之前的项0次或者多次 | co*l匹配cl、col、cool、coool等 |
() | 匹配表达式,创建一个用于匹配的子串 | ma(tri)?匹配max或maxtrix |
{n} | 匹配之前的项n次,n是可以为0的正整数 | [0-9]{3}匹配任意一个三位数,可以扩展为0-9[0-9] |
{n,} | 之前的项至少需要匹配n次 | [0-9]{2,}匹配任意一个两位数或更多位数 |
{n,m} | 指定之前的项至少匹配n次,最多匹配m次,n<=m | [0-9]{2,5}匹配从两位数到五位数之间的任意一个数字 |
| | 交替匹配|两边的任意一项 | ab(c|d)匹配abc或abd |
- 常用规则
描述 |
.* 所有字符 |
[a-z] 小写字母 |
[A-Z] 大写字母 |
[a-Z] 小写和大写字母 |
[0-9] 数字 |
- 常用用法之一
grep "xxx" -r dir #查找指定目录下包含指定内容的文件
最新文章
- css知多少(12)——目录
- HTML基础篇之表格的运用
- 【Alpha阶段】第十次Scrum例会
- Codeforces Good Bye 2015 D. New Year and Ancient Prophecy 后缀数组 树状数组 dp
- initialize 和init
- windows下Socket链接溢出
- WPF ListBox数据绑定
- $\be$-QGE 的弱强唯一性
- 面象对象设计原则之七:合成复用原则(Composition/Aggregate Reuse Principle, CARP)
- 【读书笔记】iOS-xib,点击事件的连接(三)
- Linux监控--CPU、内存、I/O
- Java socket保存示例(不使用base64)解决中文乱码问题
- [Violet]天使玩偶/SJY摆棋子
- 1001.A+B Format (20) 解题
- Java入门:基础算法之计算三角形面积
- 亚马逊API的使用
- 关于navigationBar的颜色计算与默认透明度
- eclipse中gradle插件安装
- hdu5081
- 使用LoadRunner监控Apache的步骤 (转)