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的虚拟化功能
shell_Day04的更多相关文章
随机推荐
- nginx解决vue跨域问题
location /epayapi { proxy_pass http://127.0.0.1:7011; proxy_set_header Host $host; proxy_set_header ...
- 面向对象程序设计(三):new&deleet什么是动态内存
<C++ primer>中提到:在C++中,动态内存的管理是通过一对运算符来完成的: new 在内存池中为对象分配一块空间,并指向这个对象的指针,我们可以在这里对对象进行初始化: dele ...
- redis实现分布式锁(包含代码以及分析利弊)
redis实现分布式锁(基础版) 使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置.这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁.设置key ...
- 毕设进度更新(真的不知道自己做到哪- - 备忘录性质)+3.19是mavan配置的常见问题
3.19 maven的配置 我也不知道我的cmd 输入mvn complie就是报错 也没办法下载 奇了怪了 检查了setting文件也没得- - 然后也没办法像老师一样直接导入tomcat的包 但是 ...
- nodejs实现保存文件到本地或者服务器
nodejs如何将前端传递的文件进行保存在本地或者服务器 一.nodejs获取前端传递的文件file有三种,这里我们推荐使用koa-body 1 // 安装依赖 koa-body 2 npm inst ...
- chatGPT帮助开发实战解答问题和反思
问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level ...
- 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...
- 推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计
1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
- computed与watch的区别
1.computed表示的是计算属性,watch指的是监听属性,监听的值变化时执行回调函数 2.computed会使用缓存,而watch不使用缓存,每次监听都执行回调 3.computed需要retu ...
- el-input只能输入数字和小数
1.oninput ="value=value.replace(/[^\d]/g,'')" //只能输入数字 2.oninput ="value=value.replac ...