shell脚本快速入门----正则表达式
一. "." 符号 (一个英文句号)
用于匹配换行符之外的任意一个字符
如 root 可用r..t来匹配
二. “*”符号
重复匹配前一个字符
如ab abc abb等可用ab匹配
. 表示任意长度不包含换行符的字符
三. "{n,m}"符号
重复匹配前一个字符指定次数
{n} 重复匹配前一个字符n次
{n,}重复匹配前一个字符n次以上
{n,m} 重复匹配前一个字符n到m次
四. “^”符号
匹配以固定字符开头的行
^root 匹配以root开头的行
五. “$”符号
匹配以固定字符结尾的行
root$ 匹配以root结尾的行
六. “[ ]”符号
匹配符号内出现的任意字符-是必须,表示从xx到xx
[A-D]匹配A到D
[A-Da-d]匹配A到D和a到d
[^a-d]匹配a到d之外的字符 ^出现在这里表示取反
七. “\”符号
转义字符,然后面的字符不被解释
八. “\<”和“\>”符号
\<hello 匹配用hello开头的单词
hello\> 匹配用hello结束的单词
\<hello\> 匹配hello单词
九. “\d”符号
匹配一个数字,这是一种Perl兼容模式表达式,使用时需要加上-P参数
如 grep -P "\d"
十. “\b”符号
匹配单词边界
\bhello\b J精确匹配hello单词
十一. “\B”匹配非单词边界
hello\B 可以匹配helloworld中的hello
十二. “\w”和“\W”符号
\w 匹配字母数字和下划线
\W匹配非字母非数字和非下划线
十三. "\r" "\n" "\t" "\f" "\s" "\S" 符号
\n 匹配换行符
\r 匹配回车符
\t 匹配制表符
\f 匹配一个换页符
\s 匹配任何空白字符
\S 匹配任何非空字符
十四. 扩展的正则表达式
使用扩展的正则表达式时,需要使用egrep命令
? 匹配前一个字符0次或1次
+ 匹配前一个字符1次以上
| 或,连接不同的匹配选项,并列关系
() 用以将不同的 | 表示的匹配分支括起来
十五. 通配符
*代表一个或者多个字符
? 任意一个字符
{} 匹配所有括号内以逗号隔开的字符
^ ! 取反或逻辑非
shell脚本快速入门----正则表达式的更多相关文章
- Shell脚本快速入门
最近看了下Shell脚本.曾经遇到很多现成的工具包里边就多次用到了Shell脚本.总之这东西的作用无非就是将一系列的操作进行整合. ·整合后使得一套工作更加模块化规范化. ·批量处理要比手动操作快得多 ...
- shell脚本快速入门----shell基本语法总结
1.#!脚本的开头 #!/bin/bash 2.脚本属性 添加可执行属性,chmod +x 或使用"."运行,例如运行当前目录下的a.sh 可执行命令 ". ./a.sh ...
- shell脚本从入门到精通
阿里云大学 shell脚本从入门到精通 第1 章 : shell脚本编程-变量-算术表达式-判断语句-if分支语句 第2 章 : case-for-While-双括号-循环嵌套-break-conti ...
- 【转载】MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法
原文地址:MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法 作者:mchdba 某个初级dba误删index,mysql漫山遍野全是10S以上的慢sql,mysql ...
- 08 bash特性--shell脚本编程入门
shell脚本编程入门 编程语言介绍 编程语言分为:机械语言.汇编语言和高级语言: 计算机能识别的语言为机械语言,而人类能学习的并且能够方便掌握的为高级语言,所以,我们所编写的程序就要通过编译来转换成 ...
- shell脚本从入门到精通(初级)之入门篇
写在开头 本文是阅读<Linux命令行与shell脚本编程大全>时的一些笔记,主要是shell脚本的一些基本语法, 还有很多细节和高级内容没有写到. 笔者也是shell script菜鸟, ...
- 利用shell脚本快速定位日志
我们平时查日志,在测试环境,日志文件只有几个的情况下,我们可以通过找时间接近的文件然后根据关键词定位报错位置,大不了都查一遍,这都可以忍受.但是在实际的生产环境下,服务器集群部署,每天的日志非常多非常 ...
- shell脚本从入门到精通(中级)之提高篇
shell 脚本入门到精通(中级) 一.shell 脚本的执行 二.输出格式化 三.数据类型 四.重定向 五.变量 一.shell 脚本的执行 1. 脚本执行的4种方法 $ ls /tmp/test. ...
- shell脚本快速配置yum源
我们在使用Red Hat系列的Linux系统时经常要配置yum源,本文档提出一个快速配置yum源的方法,就是用shell脚本来实现. 我们在使用Red Hat系列的Linux系统时经常要配置yum源, ...
随机推荐
- spring boot:解决cors跨域问题的两种方法(spring boot 2.3.2)
一,什么是CORS? 1,CORS(跨域资源共享)(CORS,Cross-origin resource sharing), 它是一个 W3C 标准中浏览器技术的规范, 它允许浏览器向非同一个域的服务 ...
- centos8安装kafka(单机方式)
一,下载kafka 1,官网地址 http://kafka.apache.org/downloads.html 2,下载 [root@localhost source]# wget http://mi ...
- centos8平台用NetworkManager/nmcli管理网络
一,centos8上,网络服务的管理需要NetworkManager服务 1,NetworkManager的服务操作 启动 [root@localhost network-scripts]# syst ...
- centos8平台安装zookeeper3.6集群
一,规划三台zk服务器构成集群 ip:172.18.1.1 机器名:zk1 对应myid: 1 ip:172.18.1.2 机器名:zk2 对应myid: 2 ip:172.18.1.3 机器名:zk ...
- 关于Dockerfile
在Docker中创建镜像最常用的方式,就是使用Dockerfile.Dockerfile是一个Docker镜像的描述文件,我们可以理解成火箭发射的A.B.C.D-的步骤.Dockerfile其内部包含 ...
- 【应用服务 App Service】App Service 中部署Java应用中文乱码现象
问题情形 有时候部署在 Azure App Service的 Java应用会出现乱码 详细日志 无 问题原因 因为 App Service默认的编码为gbk,所以在显示页面或传递中文字符时就会出现乱 ...
- margin 重叠问题深入探究
margin 重叠问题 Margin Collapse 块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(重叠)为单个边距,其大小为单个边距的最大值(或如果它们相等 ...
- MongoDB分片 --- MongoDB基础用法(六)
分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量. ...
- xlrd、xlwt常用命令
# -*- coding: utf-8 -*- import xlrd import xlwt from datetime import date,datetime def read_excel( ...
- django 框架模型之models常用的Field
1. django 模型models 常用字段 1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一 ...