博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
六周第一次课(4月25日)正则介绍_grep上、grep中、grep下
阅读量:6257 次
发布时间:2019-06-22

本文共 1420 字,大约阅读时间需要 4 分钟。

hot3.png

9.1 正则介绍

正则就是一串有规律的字符串(包括特殊字符)

掌握好正则对于编写shell脚本有很大帮助

各种编程语言中都有正则,原理是一样的

本章学习grep/egrep(grep的扩展)、sed、awk

grep

gerp[-cinvABC]'word'filename

-c 行数   -i不区分大小写   -v 取反  -r 遍历所有子目录

-A 后面跟数字,过滤符合要求的行以及下面的n行

-B 同上,过滤出符合要求的行以及上面n行

-C 同上,过滤出符合要求的行以及上下各n行

grep 'nologin' passwd   将过滤字符带颜色显示

210850_400Z_3803395.png

grep -c 'nologin' passwd  // -c显示行号

grep -n 'nologin'  passwd  //-n显示行数

211014_ie9t_3803395.png

grep -i 'nologin' passwd   //-i 不区分大小写

211251_sxps_3803395.png

grep -v 'nologin' passwd   //-v 取反

211459_FVGm_3803395.png

grep -r 'nologin' passwd   //-r 遍历所有子目录

211615_0bmt_3803395.png

grep -A2 'root' passwd 

grep -B2 'root' passwd 

grep -C2 'root' passwd 

212949_F2yi_3803395.png

9.2grep(中)

213748_Owrp_3803395.png

gerp '[0-9]' passwd  // 输出的结果全部包含 0-9 的数字,[ ] 表示一个范围  见下图

213907_TT8S_3803395.png

gerp-v '[0-9]' passwd  // -v 选项来查看没有包含数字的结果

214220_p1mp_3803395.png

gerp '^#' passwd  //^表示以后面跟的内容开头,见下图例子

214802_2VwZ_3803395.png

gerp '[^0-9]' passwd  //  [^0-9] 表示的是非 0-9 的一个字符

215409_Chuf_3803395.png

gerp '^[^0-9]' passwd    //表示已分数字开头的行

215655_AyEE_3803395.png

 ^ 的作用,把 ^ 放在 [ ] 里面,表示取反,非的意思。放在 [ ] 外面就是以后面的内容开头

9.3 grep(下)

223503_7ADn_3803395.png

grep 'r.o' passwd   // . 代表任意的一个字符 ,

215936_6HIM_3803395.png

grep 'o*o' passwd // * 右边的字符表示需要匹配的内容,左边的字符表示重复 0-n 次,n 是一个随意的数字。

220432_iB9y_3803395.png

grep '.*'  passwd   //表示任意的任意字符,0个也可以

221520_2rBQ_3803395.png

grep 'o\{2\}' passwd   //{ } ,\ (脱义符号)把它原本的含义去掉,{ } 花括号表示的是一个范围

egrep 'o{2}'    passwd  \ (脱义符号)看着不舒服的话,可以使用 egrep 命令,这样就不需要用到 \ (脱义符号)了

 222106_nbr8_3803395.png

grep 'o\+o' passwd   //表示+号前面字符的1次或多次,它与 (星号)的差别在于,(星号)表示的是 0 次或多次

egrep 'o+o' passwd 

222435_eFX8_3803395.png

grep '0\?o' passwd   //表示 ?号前面字符的重复次数为0次或1次

222631_L7Ln_3803395.png

grep -E 'root|nologin' passwd  //表示或者的意思

223058_2cOf_3803395.png

.  表示任意一个字符

* 表示0个或多个前面的字符
. * 表示通配
{ } 表示前面字符的范围

+ 表示1个或多个前面的字符

?表示0个或1个前面的字符
|  表示或者
^ 表示以后面跟的内容开头
[ ] 表示一个范围
[^ ] 表示取反,就是非的意思

 

转载于:https://my.oschina.net/u/3803395/blog/1798131

你可能感兴趣的文章
JavaWeb_JavaEE_命名规则
查看>>
申小雨命案审理延期至3月5日 警方将翻译嫌犯口供
查看>>
自动精简配置&重复数据删除核心技术点及其经济效应探究
查看>>
cncert网络安全周报35期 境内被植入后门的政府网站112个 环比上涨24.4%
查看>>
物联网到底是不是泡沫,且看英特尔交出的答案
查看>>
IPv6太落后了:中国加速服务器援建
查看>>
安防大数据应用国家工程实验室在乌鲁木齐成立
查看>>
物理引擎中velocity的单位是个什么鬼?
查看>>
[译] 全新 Android 注入器 : Dagger 2 (二)
查看>>
为什么要评审代码?
查看>>
小程序开发前的准备工作之【深入封装Component】
查看>>
AFN3.0源码解析
查看>>
oracle的drop命令
查看>>
设计与梳理企业二级流程的路线方法
查看>>
Python正则表达式指南
查看>>
使用css3制作渐变分割线
查看>>
垃圾回收概念与算法
查看>>
IconFont 图标svg
查看>>
TFS实现需求工作项自动级联保存
查看>>
springmvc 4.x 处理json 数据时中文乱码
查看>>