shell脚本编程学习笔记5(xdl)——正则表达式
shell脚本编程学习笔记5——正则表达式
1,简介
正则表达式,用来在文件中匹配符合条件的字符串,包含匹配。注意是文件中选择字符串,和通配符是
不同的。grep,awk,sed等命令可以支持正则表达式通配符,是用来选择符合条件的文件名,完全匹配。ls,find,cp可用通配符,不能用正则表达式
2,基础正则表达式
* 前一个字符匹配0次或者任意多次
. 匹配除了换行符外的任意一种字符 也就是除了\n
^ 匹配行首
$ 匹配行尾
[] 匹配括号中指定的任一字符,至匹配一个字符。[abcde],[a-z],[0-9]
[^] 匹配括号中字符以外的任意一个字符。也就是上面取非。
\ 转义符
\{n\} 表示前面的字符恰好出现n次,
\{n,\} 表示前面的字符出现不小于n次
\{n,m\} 表示前面的字符至少出现n次,最多出现m次。
实例
grep "a*" filename //匹配所有的内容,包括空白行
grep "aa*" filename //匹配所有含a的行,至少一个
grep "aaa*" filename //匹配至少包含两个连续a的行
grep "aaaa*" filename //匹配至少包含连续四个a的行
grep "s..d" filename //匹配s和d,两个字母之间一定有两个字符串的单词
grep "s.*d" filename //匹配s和d字母之间的任意字符,包含空格
grep ".*" filename //匹配所有的内容
grep "^M" filename //大写M开头的行
grep "A$" filename //大写A结尾的行
grep "^$" filename //匹配空白行
grep "^[1-9]" filename //1-9数字开头的行
grep "[^A-Z]" filename //匹配非大写字母的行
grep "\." filename //匹配使用.结尾的行
grep "A\{3\}" filename
grep "1[3-8][0-9]\{9\}"
grep "sa\{1,3\}i" filename
shell脚本编程学习笔记5(xdl)——正则表达式相关推荐
- shell脚本编程学习笔记6(xdl)——字符串截取命令
shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...
- shell脚本编程学习笔记8(XDL)——流程控制和循环
shell脚本编程学习笔记8--流程控制和循环 1,if语句 1,框架 1,单分支:if [条件判断式] ;thenprogramfiif [条件判断式]thenprogramfi注意:if语句使用f ...
- shell脚本编程学习笔记1(xdl)——shell基础与Bash基本功能()
shell脚本编程学习笔记1--shell基础与Bash基本功能 1,简介: 1,Shell就是一个命令行解释器,用以连接输入设别和内核. 2,Shell是解 释执行的脚本语言,在Shell中可以直接 ...
- shell脚本编程学习笔记2(xdl)——Bash变量
shell脚本编程学习笔记2--Bash变量 1,变量简介 1,计算机内存单元2,设置规则字母数组下划线组成,不能以数字开头Bash中,默认类型字符串型,变量类型可修改 2,Bash变量规则 1,变量 ...
- shell脚本编程学习笔记4(xdl)——Bash常见环境变量
shell脚本编程学习笔记4--Bash常见环境变量 非专业运维,例如开发人员,环境变量熟悉常见的,了解不常见的即可. 1,简介 环境变量配置文件中主要是定义对系统的 操作环境生效的系统默认环境变量, ...
- shell脚本编程学习笔记7(XDL)——字符处理命令和条件判断
shell编程学习笔记--字符处理命令和条件判断 1,字符处理 [root@localhost ~]# sort [选项] 文件名 选项: -f: 忽略大小写 -n: 以数值型进行排序,默认使用字符串 ...
- shell脚本编程学习笔记3(xdl)——Bash变量的运算与测试
Bash变量的运算与测试 1,数值运算和运算符 declare申明变量类型也就是说变量运算没有申明的时候,会以字符串形式的拼接, 只有把变量声明为数值型的时候才可以运算,申明变量为数值型有 三种方法方 ...
- Linux Shell脚本编程学习笔记和实战
http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...
- shell脚本编程 学习笔记
1.shell简介 1.1 什么是shell Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...
最新文章
- 非极大值抑制(Non-maximum suppression)在物体检测领域的应用
- VTK:vtkSelectPolyData选择多数据用法实战
- python 字符编码
- 服务器的虚拟主机用途,服务器的虚拟主机用途
- java多功能钟_Java 11将包含更多功能
- as真机调试_如何使用真机调试android程序
- AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...
- 酷炫的SVG 动态图标
- 小赛毛游C记——分支和循环语句(2)
- 【愚公系列】华为云GaussDB(for Redis)的体验流程|【这次高斯不是数学家】
- db2 日期英式写法_英文日期写法 英文日期格式正确写法
- 矩阵相乘的strassen算法_4-2.矩阵乘法的Strassen算法详解
- 远程控制桌面,外网电脑PC手机ios安卓mac远程桌面连接内网linux和windows主机,史上最全最详细图文教程
- idc服务器维护岗位,IDC运维工程师工作内容
- 丰田将在所有销售店安装充电设备丰田章男社长“建立共享基础设施”
- Flutter应用架构之BloC模式实践
- PC实现Win10/原生安卓双系统
- 招聘 | 多家区块链项目招募开发者
- Z-Wave Door Locks最佳实践
- 上期所SimNow使用指南
热门文章
- 服务器凌晨莫名奇妙自动重启解决方案
- pytest合集(3)— 命令行参数
- hey i wanna join urs
- Android实现图片浏览功能(图片器原理实现)
- 企业如何选择合适的精益生产方案?
- TopCoder SRM 558 Div 1 - Problem 1000 SurroundingGame
- Java国际化:BreakIterator
- 模块电路选型(4)----通信模块
- 哈尔滨师范大学计算机科学与信息工程学院,计算机科学与信息工程学院邀殷明浩教授举办学术讲座...
- 【每天一个java设计模式(完)】 - 四万字实现23种设计模式(附示例源码)