linux shell编程学习笔记(9)正则表达式
1、什么是正则表达式
用一串符号描述有共同属性的数据
一串符号:元符号
——正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式。
——其实正则表达式,只是一种思想,一种表示方法。只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串。常用的工具有grep, sed, awk 等
2、正则表达式的语法格式
#grep [选项] ‘正则表达式’ 文件列表 -
#前置命令 | grep [选项] ‘正则表达式’
3、正则表达式处理顺序:
·以行为处理单位
·对数据按先后顺序逐行处理
·处理完当前行后,自动处理下一行,直到末行为止
·默认输出与表达式匹配的行
4、正则表达式怎么写
——正则表达式由元字符组成
4.1、基本元字符
(1)^
——匹配行首
格式:^匹配字符
[root@moni01 shell]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash [root@moni01 shell]#
(2)$
——匹配行尾
格式:匹配字符$
[root@moni01 shell]# grep /sbin/nologin$ /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
(3).
——匹配任意单个字符。换行符\n 除外
(4)[]
——匹配范围内的任意一个字符
——匹配优先
(5){}
——限制正则表达式的匹配次数
1){n} 匹配n次
2){n,m} 匹配n-m次
3){n,} 匹配至少n次
匹配空格
(6)+
——至少匹配一次(一次或多次)
(7)?
——最多匹配一次(0次或1次)
(9)*
——匹配任意次数。(零次到多次)
(10)单词边界匹配
1)匹配整个单词/单词边界
如: \broot\b
或
\<root\>
[root@moni01 tmp]# egrep '\broot\b' /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@moni01 tmp]#
2)匹配单词的开头
如:\broo
或
\<roo
3)匹配单词的结束
如:oot\b
或
Oot\>
转载于:https://blog.51cto.com/huanglianfeng/1365227
linux shell编程学习笔记(9)正则表达式相关推荐
- 《Linux Shell编程学习笔记之一》
<Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...
- Linux Shell编程学习笔记(4)
Linux Shell编程学习笔记(2015-7-20) 分类:linux shell 今天学习了Linux Shell中的控制结构.其实大多数语言的控制结构这一块都是基本类似的,有了C语言的基础 ...
- Linux Shell编程学习笔记(2)
Linux Shell编程学习笔记(2015-7-12) 分类:linux shell Shell变量 一:关于Shell变量 Shell是一种弱类型的语言,变量存储的一切值都是字符串.Shell ...
- Linux Shell编程学习笔记(3)
Linux Shell编程学习笔记(2015-7-19) 分类:linux shell 一:位置参数和特殊变量 什么是位置参数? 位置参数也叫位置变量,是运行shell脚本程序时,命令行she ...
- Linux Shell 编程学习笔记(1)
Linux Shell编程学习笔(2015-7-11) 一:Shell程序运行的三种方法 赋予程序文件可执行权限,直接运行 比如:chmod a+x shell.sh 使用命令解释器(即shell ...
- Linux Shell编程学习笔记一:shell简介
Q:什么是Shell,什么是shell脚本? A:Shell是一种用C语言编写的程序,它是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作 ...
- Linux shell编程学习笔记---第三章
3.1正则表达式基础 正则表达式的主要功能是文本查询和字符串操作.实际上就是字符串过滤. 正则表达式包括普通字符(a,b,1,2等)他们都只有字面意思和元字符(*,^等)他们超越了字面意思,被给予了附 ...
- Linux Shell编程学习笔记
1./是根目录,文件夹目录应该是/home/用户名.shell文件只能保存在文件夹中而不能保存在根目录中,可能是没有进入root. 进入root方法:终端输入 sudo su. 运行shell文件方法 ...
- Linux shell编程学习笔记-----第六章变量和引用
6.1变量 变量可分为本地变量(随着shell进程的消亡而消亡,类似于java C++ 中的局部变量),环境变量(适用于所有由登录进程产生的子进程),位置参数(用于向shell脚本传递参数,是只读的) ...
最新文章
- 第二章 Linux系统安装 - VMware虚拟机安装、卸载与使用
- 生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题。
- php解析目录函数怎么用,PHP中目录解析函数
- 用代码证明自己闲的蛋疼(一)——cmd闪瞎狗眼
- websocket协议中获取 http 请求字符串
- Linus Torvalds 命名 [ 冰封荒原 ] 版 Linux 内核的思考
- poj 3211 Washing Clothes
- Android webView嵌套h5页面 软键盘遮盖页面问题 解决方案 java kotlin
- 永洪bi logo更换
- 《敏捷个人》周刊 第13期 (可下载)
- 未来智能营销时代到来,人工智能营销系统方兴未艾
- python编程求100以内能被5整除之和_C语言,求100以内能被3整除或能被5整除的数的和...
- 一文搞定细菌基因组De Novo测序分析
- 抖音带货赚钱吗?有哪些技巧?
- Qt--3D中制作坐标系(5.12)
- 自动控制原理-频率特性 G(jw ) 定义
- 用BibTeX 写 Reference
- matlab 构建雅可比矩阵,matlab jacobian函数
- expect pexpect on Windows
- R语言 一元正态分布参数最大似然估计
热门文章
- java线程的创建和启动深度解析
- 学会这几招设计思维让平面设计上一大台阶
- 学计算机科学与技术考研考哪些专业课程,计算机科学与技术考研考哪些科目 备考技巧有哪些...
- mysql导入frm文件_MySQL备份文件.ibd、.frm、.MYD、.MYI的恢复教程
- NIO详解(四):NIO编程
- dmx计算机,DMX是什么意思
- 声音对比处理_厨房垃圾处理器 | 厨余垃圾分类的正确打开姿势
- java不四舍五入_JAVA-四舍五入之坑
- .net framework开发winform_这个Winform的UI库也太全了!四十多个控件都在这一个项目里了...
- pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...