正则表达式概述

使用单个字符来描述、匹配一系列符合某个语句规则的字符串,由普通字符与特殊字符组成,正则表达式广泛使用在脚本编程、文本编辑器中。

正则表达式简写为regex、regexp、RE。

再大多数语言当中正则表达式都被包括在两个正斜杠当中“/”

正则表达式有一个特点“贪婪匹配”:尽量匹配最长的

正则表达式分类

基础正则表达式

\ 转义字符。例如:“!”将逻辑否的!看做普通字符,\还可以折行

例子1:

[root@localhost ~]# ls -l /home \

> /tmp

例子2:

[root@localhost ~]# grep "b.*in" a.txt

12 bin 34

23 sb.*in 23

44 binary 49

23 binlog 23

[root@localhost ~]# grep "b\.\*in" a.txt

23 sb.*in 23

^ 匹配字符串开始的位置,以…为开头的

$ 匹配字符串结束的位置,以…为结尾的

^$ 表示空行,不是空格

例子:

[root@localhost ~]# cat a.txt

aa

aa bb aa

a b a

[root@localhost ~]# grep "^aa$" a.txt

aa

. 匹配任意字符串

* 匹配前面子表达式(字符)0次或者多次

例子:

[root@localhost ~]# grep "a 0*" a.txt

aa 0

aa 00

aa bb 0000 aa 00

a b a 000

.* 匹配任意字符串

[list] 匹配list列表中的一个字符,例如:[abc]、[a-z]、[a-zA-Z0-9]

例子:

[root@localhost ~]# ifconfig ens32 | grep "TX [pe]"

TX packets 1776 bytes 206946 (202.0 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[^list] 匹配任意非list表中的一个字符,例如:[^a-z]、[^0-9]、[^A-Z0-9]

例子:

[root@localhost ~]# ifconfig ens32 | grep "TX [a-f]"

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@localhost ~]# ifconfig ens32 | grep "TX [^a-f]"

TX packets 1814 bytes 210662 (205.7 KiB)

\{n\} 匹配前面子表达式n次

例子:

[root@localhost ~]# grep "a 0\{2\}" a.txt

aa 00

aa bb 0000 aa 00

a b a 000

\{n,\} 匹配前面子表达式至少n次

[root@localhost ~]# grep "a 0\{2,\}" a.txt

aa 00

aa bb 0000 aa 00

a b a 000

\{n,m\} 匹配前面子表达式最少n次,最大m次

\< 词首牟定:固定词首

\> 词未牟定:固定词尾

例子:

[root@localhost ~]# grep "\" a.txt

a b a 000

转义字符

意义

\a

响铃(BEL)

\b

退格(BS),将当前位置移到前一列

\n

换行(LF)将当前位置移到下一行的开头

\r

回车(CR)将当前位置移动到本行开头

\t

水平制表(HT)调到下一个TAB位置

\v

垂直制表(VT)

\

代表一个反斜杠字符“\”

扩展正则表达式

+匹配前面子表达式1次及以上

? 匹配前面子表达式0次或者1次

() 将括号中的字符串作为一个整体

| 以或的方式匹配字符

Linux常用的文本处理工具

grep 匹配,查询(过滤)

sed 编辑(增加,删除,修改)

awk 文本格式化(字符串提取)

注意事项

Linux中正则一般以行为单位处理文件

alias grep=‘grep --color=auto’

注意字符集,LANG=C

通配符

正则表达式和我们命令行中使用的通配符是有本质区别的。

通配符一般是处理文件名的

ls -l .txt:任意长度任意字符串,属于通配符。

?:单个任意字符串,属于通配符。

grep命令的参数:

-v 排除匹配的内容(取反)

-E 支持扩展正则表达式=egrep

[root@localhost ~]# grep -Ev "^$|#" /etc/httpd/conf/httpd.conf

ServerRoot "/etc/httpd"

Listen 80

Include conf.modules.d/*.conf

-i 忽略大小写

[root@localhost ~]# cat a.txt

aAAA

[root@localhost ~]# grep -i "a" a.txt

aAAA

[root@localhost ~]#

-o 只输出匹配的内容

[root@localhost ~]# grep -o "root" /etc/passwd

root

root

–color=auto 匹配的内容显示颜色(用的不多 alias查看别名)

-n 在行首显示行号

[root@localhost ~]# grep -n "root" /etc/passwd

1:root:x:0:0:root:/root:/bin/bash

10:operator:x:11:0:operator:/root:/sbin/nologin

43:admin:x:1000:1000:root:/home/admin:/bin/bash

-q 匹配内容不显示(静默输出,一般写脚本的时候用而不输出到屏幕)

-w 将过滤条件当成单词来匹配

[root@localhost ~]# grep -w "bin" /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

admin:x:1000:1000:root:/home/admin:/bin/bash

[root@localhost ~]# grep "bin" /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

-c 只输出匹配行的计数

[root@localhost ~]# grep -c "root" /etc/passwd

3

linux sed 正则转义,Linux运维云升笔记 (一)正则表达式以及文档编辑器sed相关推荐

  1. Linux集群和自动化运维

    Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技 ...

  2. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》...

    优化Linux内核参数/etc/sysctl.conf  sysctl  <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...

  3. linux之AUTOMATION(自动化运维)二

    linux之AUTOMATION(自动化运维) 01: ansible基础 . Ansible ad-hoc 02: sudo提权 . Ansible配置 . Ansible Playbook . A ...

  4. 安科瑞变电所运维云平台AcrelCloud-1000实时监测

    安科瑞 戈静怡 按照国家电网公司的统计,10kV及以上供电电压等级的工商业用户有200万户以上,此类"用户侧变配电所"产权归电力用户所有(工商企业.住宅小区.学校.医院等),虽然数 ...

  5. 【能效管理】变电所运维云平台在上海某医院的设计分析

    摘要:本文概述了变电所电力运维技术,分析了医院变电所中存在的技术设备老化和技术荷载不足的技术性问题,并从主变低压进出线路监测故障.环境监测故障.设备档案记录.运维排班记录.分析报告五个方面探讨了变电所 ...

  6. AcrelCloud-1000变电所运维云平台为用户提供便捷、全面的运维服务

    1项目概况 安榆林市科技馆位于陕西省榆林市,现场共有一间配电室该项目变电所数据上传至我司云平台,采集配电室内的多功能仪表以及环境检测传感器的数据.配电室内所用仪表为安科瑞PZ.ARTU系列,建大仁科的 ...

  7. 变电站运维云平台系统在台商大厦的设计与应用

    项目规模概述 郑州台商大厦位于郑东新区高速铁路核心区域,临近火车站西广场,占地12余亩,规划有26层高层公寓式办公楼.14层酒店式办公楼.4层商业及地下室,总建筑面积60713平方米,其中商业面积为1 ...

  8. 「节能学院」变电站运维云平台在某大厦的设计与应用

    摘要 介绍一栋栋大楼,采用综合防护装置.多功能仪表.变压器温控仪.直流屏幕.烟雾传感器.门磁开关.网络摄像头等设备,采集各类配电现场的电参量及状态信号.该系统采取现场组网的方式,将网络组网后通过现场网 ...

  9. 安科瑞高速公路变电所运维云平台解决方案

    安科瑞王丹丹acrel2021 1概述 高速公路监控中心主要任务为确保高速公路的各个子系统及操控设备能正常运转,并在发生事故时能迅速反应处理,因此高速公路监控中心就是整个高速公路安全管控系统的神经中枢 ...

最新文章

  1. hadoop定位文件读取
  2. HttpContext.Current.Cache 过期时间
  3. linux根目录挂载到2440开发板,飞凌2440开发板挂载NFS
  4. 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作
  5. 快速保留小数点后面几位(转)
  6. onclick进不去ajax,在ajax调用之后处理onclick函数
  7. 蓝桥杯 标题:纵横火柴旗子
  8. RedHat7 Git 安装使用
  9. Git 小问题:fatal: not a git repository (or any of the parent directories): .git
  10. 史上最强大的浏览器嗅探
  11. java学习手册下载_java学习手册
  12. 如何从阿里巴巴矢量图标库引入图标
  13. Android Studio 中 gradle 下载失败的解决办法
  14. 如何删除360浏览器的桔梗导航
  15. 麒麟芯片鸿蒙芯片高通骁龙,麒麟和骁龙两款处理器,选哪一款比较好,看完这三点你就明白了...
  16. 鸢尾花的分类(四种方法)
  17. 爱快路由器wifi短信验证上网怎样配置?wifi身份认证方案
  18. 프로그래머로 살아남는 법
  19. 基于SSM的生产计划排程管理系统
  20. 嵌入式—LM3S1138介绍

热门文章

  1. 淘宝如何保障业务稳定性——诺亚(Noah)自适应流控
  2. 2018亚太CDN峰会开幕,阿里云王海华解读云+端+AI的短视频最佳实践
  3. F5:2022年应用交付和安全领域趋势展望
  4. Fortinet:行走在网络和安全融合领域的最前列
  5. 5G +边缘计算,优酷如何做云渲染?
  6. 想要AI优先?数据优先才行
  7. 腾讯Blade Team发现云虚拟化平台逃逸漏洞 积极护航云生态安全
  8. 谷歌10月15日发布 Pixel 4;高通以31亿美元收购与TDK公司权益;甲骨文、VMware就云技术及支持达成协议……...
  9. 阿里云弹性计算负责人蒋林泉:亿级场景驱动的技术自研之路
  10. 微服务化后缓存怎么做?