shell_Day04
grep程序
Linux下有文本处理三剑客 -- grep sed awk
grep:文本 行过滤工具
sed: 文本 行编辑器(流编辑器)
awk:报告生成器(做文本输出格式化)
grep
包含三个命令:grep egrep fgrep ,它们是用来进行 行模式(pattern)匹配的
egrep = gerp -E //使用扩展的正则表达式进行匹配
fgrep = fast grep //只使用文件通配符进行匹配
*grep默认使用正则表达式进行文本匹配*
grep的用法:
grep [option] ... PATTERN [filename]
-E 支持使用扩展的正则表达式(ERE)(regexp)
-P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表示式引擎都不相同,甚至sed grep awk使用的regexp引擎也不相同)
-i 忽略大小
-v 进行反选
-o 仅仅输出匹配的内容(默认输出的是匹配到的行)
--color=auto 语法着色
-n 显示行号
-w 匹配固定的单词
PATTERN--正则表达式
作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就需要 \ 进行转义;
字符匹配
. 任意一个字符 ?
[ ] 范围内的任意一个字符
[^ ] 范围外任意一个字符
字符类:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]
次数匹配
* 匹配前面的字符0次到无数次
\?匹配前面的字符0次到1次
\+ 匹配前面的字符1次到n次
\{m\} 配置前面的字符m次
a\{7\} aaaaaaa
\{m,n\} 匹配前面的字符m到n次
\{0,n\} 匹配前面的字符0次到n次 【0要不要?(不行!)】
\{m,\} 匹配前面的字符至少m次
位置锚定
^ 锚定行首
$ 锚定行尾
^[[:space:]]*$ 空白行
\b 锚定词首和锚定词尾
\> 锚定词尾
\< 锚定词首
\<root\> rooter
分组
abc* abcccc abc要看成一个整体
**分组特性:默认情况下,Linux系统会为分组指定变量 ,变量的表示形式 \1 \2 \3 ... (后向引用)
abbbbbxyxyxyabxy
扩展的正则表达式
【标准正则表达式中的 \ 都可以去掉】
分组 : () 后向引用 \1 \2 \3 ...
或: |
grep -E "(svm|vms)" /proc/cpuinfo //查看CPU的虚拟化功能
最新文章
- python 发送邮件
- jQuery中使用ajax,$.post
- Javascript事件模型系列(二)事件的捕获-冒泡机制及事件委托机制
- HDU 4251 The Famous ICPC Team Again 主席树
- JQ选择器逐一测试
- vim 正则替换
- u盘安装ubuntu server 14.04 以及No CD-ROM drive was detected 错误
- Python标准库10 多进程初步 (multiprocessing包)
- React模板
- Dire Wolf ---hdu5115(区间dp)
- hdu 5400 Arithmetic Sequence
- QR code 金庸小说体(二)
- SQL Server索引进阶:第二级,深入非聚集索引
- Struts2的那些小细节
- 深入理解Mybatis插件开发
- 机器学习课程-第8周-降维(Dimensionality Reduction)—主成分分析(PCA)
- mysql性能优化2
- 谈 Python 程序和 C 程序的整合 (转载)
- .net core 填坑记之—格式转换问题
- BZOJ3573 [Hnoi2014]米特运输 【贪心】
热门文章
- appium如何获取到APP的启动activity
- 删除resource中的图片后编译报错
- 【KAWAKO】deepface-在基于m1芯片的macbook上进行安装
- 题解 P5072 【[Ynoi2015] 盼君勿忘】
- 利用反射和代理简单模拟mybatis实现简单的CRUD
- TikTok 推荐引擎强大的秘密
- vue浏览器全屏 非全屏切换 按esc退出全屏
- ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
- 图扑 Web SCADA 智慧制硅厂,打造新时代制硅工业
- java学习日记20230226-java环境搭建及运行机制