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)——正则表达式相关推荐

  1. shell脚本编程学习笔记6(xdl)——字符串截取命令

    shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...

  2. shell脚本编程学习笔记8(XDL)——流程控制和循环

    shell脚本编程学习笔记8--流程控制和循环 1,if语句 1,框架 1,单分支:if [条件判断式] ;thenprogramfiif [条件判断式]thenprogramfi注意:if语句使用f ...

  3. shell脚本编程学习笔记1(xdl)——shell基础与Bash基本功能()

    shell脚本编程学习笔记1--shell基础与Bash基本功能 1,简介: 1,Shell就是一个命令行解释器,用以连接输入设别和内核. 2,Shell是解 释执行的脚本语言,在Shell中可以直接 ...

  4. shell脚本编程学习笔记2(xdl)——Bash变量

    shell脚本编程学习笔记2--Bash变量 1,变量简介 1,计算机内存单元2,设置规则字母数组下划线组成,不能以数字开头Bash中,默认类型字符串型,变量类型可修改 2,Bash变量规则 1,变量 ...

  5. shell脚本编程学习笔记4(xdl)——Bash常见环境变量

    shell脚本编程学习笔记4--Bash常见环境变量 非专业运维,例如开发人员,环境变量熟悉常见的,了解不常见的即可. 1,简介 环境变量配置文件中主要是定义对系统的 操作环境生效的系统默认环境变量, ...

  6. shell脚本编程学习笔记7(XDL)——字符处理命令和条件判断

    shell编程学习笔记--字符处理命令和条件判断 1,字符处理 [root@localhost ~]# sort [选项] 文件名 选项: -f: 忽略大小写 -n: 以数值型进行排序,默认使用字符串 ...

  7. shell脚本编程学习笔记3(xdl)——Bash变量的运算与测试

    Bash变量的运算与测试 1,数值运算和运算符 declare申明变量类型也就是说变量运算没有申明的时候,会以字符串形式的拼接, 只有把变量声明为数值型的时候才可以运算,申明变量为数值型有 三种方法方 ...

  8. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

  9. shell脚本编程 学习笔记

    1.shell简介 1.1 什么是shell Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...

最新文章

  1. 非极大值抑制(Non-maximum suppression)在物体检测领域的应用
  2. VTK:vtkSelectPolyData选择多数据用法实战
  3. python 字符编码
  4. 服务器的虚拟主机用途,服务器的虚拟主机用途
  5. java多功能钟_Java 11将包含更多功能
  6. as真机调试_如何使用真机调试android程序
  7. AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...
  8. 酷炫的SVG 动态图标
  9. 小赛毛游C记——分支和循环语句(2)
  10. 【愚公系列】华为云GaussDB(for Redis)的体验流程|【这次高斯不是数学家】
  11. db2 日期英式写法_英文日期写法 英文日期格式正确写法
  12. 矩阵相乘的strassen算法_4-2.矩阵乘法的Strassen算法详解
  13. 远程控制桌面,外网电脑PC手机ios安卓mac远程桌面连接内网linux和windows主机,史上最全最详细图文教程
  14. idc服务器维护岗位,IDC运维工程师工作内容
  15. 丰田将在所有销售店安装充电设备丰田章男社长“建立共享基础设施”
  16. Flutter应用架构之BloC模式实践
  17. PC实现Win10/原生安卓双系统
  18. 招聘 | 多家区块链项目招募开发者
  19. Z-Wave Door Locks最佳实践
  20. 上期所SimNow使用指南

热门文章

  1. 服务器凌晨莫名奇妙自动重启解决方案
  2. pytest合集(3)— 命令行参数
  3. hey i wanna join urs
  4. Android实现图片浏览功能(图片器原理实现)
  5. 企业如何选择合适的精益生产方案?
  6. TopCoder SRM 558 Div 1 - Problem 1000 SurroundingGame
  7. Java国际化:BreakIterator
  8. 模块电路选型(4)----通信模块
  9. 哈尔滨师范大学计算机科学与信息工程学院,计算机科学与信息工程学院邀殷明浩教授举办学术讲座...
  10. 【每天一个java设计模式(完)】 - 四万字实现23种设计模式(附示例源码)