正则表达式

正则表达式:

元字符:

.代表单个任意字符,也可以是一个汉字

\:转义符

():分组\(\)

a-z0-9A-Z\] 匹配范围内任意单个字符 \[a

表示次数:

*.匹配前面的字符任意次,0次也算

.*匹配任意长度的任意字符,不包括0次

\?匹配前面的字符0次或者1次

\ +匹配前面的字符至少一次 >=1

\ {n\ }匹配前面的字符=n次

\ {n,m\ }匹配前面的字符最少n次,最多m次

\ {,n\ }匹配前面的字符最多n次,0次

\ {n,\ }匹配前面的字符至少n次

位置锚定:

^行首锚定,表示以什么为开头

$行尾锚定,表示以什么为结尾

^$匹配的是空行

^root&:匹配整行,而且一行只能有这一个字符串

\ < \b 词首锚定,用于单词模式的左侧(连续的字母,数字,下划线都算在单词内部)

\ > \b 词尾锚定,用于单词模式的右侧

\broot\b 匹配整个单词,而不是匹配行。

分组和逻辑或

分组:()

逻辑或:\ |

扩展正则表达式:

*

?

{n}

{n,m}

{n,}

{,n}

|

grep -E

sed -r

egrep

sed:增和改,查没有grep好用

免交互删除文件内容

删除空行

文本的三剑客:grep 查

sed 免交互

按行进行处理。

sed是一种流编辑器。

除非确认操作,否则数据一概不变,在缓冲区的数据,展示结束后,会被立刻销毁。

-e 指定命令来处理输入的文本文件,只有一个操作命令,-e可以不写,一般都是执行多个操作命令。

-f 用指定文件中的脚本来对另一个文件进行处理

-i 将会直接生效,慎用

-n 屏蔽默认输出,只显示一条结果

操作命令:

s:替换

d:删除内容,删除指定行

a:新增,在当前行的下面插入一行指定内容

i:插入,在选定行上面插入一行内容

c:替换整行

y:单字符转换,转换前后的字符长度,必须保持一致

p:打印

r:扩展正则表达式

sed的主要内容是对文本内容的增删改查

相关推荐
珠穆峰7 分钟前
linux find 命令使用
linux·运维·服务器
深蓝海拓10 分钟前
PySide6的QTimeLine详解
笔记·python·qt·学习·pyqt
2501_9011478329 分钟前
幂函数实现的优化与工程思考笔记
笔记·算法·面试·职场和发展·php
JinchuanMaster1 小时前
Ubuntu20.04安装50系显卡驱动[不黑屏版本]
linux·人工智能·深度学习·ubuntu·机器学习·机器人·gpu算力
草莓熊Lotso1 小时前
Linux 程序地址空间深度解析:虚拟地址背后的真相
java·linux·运维·服务器·开发语言·c++·人工智能
郝学胜-神的一滴1 小时前
使用Linux命名管道(FIFO)实现无血缘关系进程间通信
linux·服务器·开发语言·c++·程序人生
Jinkxs1 小时前
【Linux】零基础入门:一篇吃透操作系统核心概念
linux·运维·服务器·网络·操作系统
一目Leizi1 小时前
Windows 系统下安装 Ubuntu 双系统详细教程(图文指南)
linux·windows·ubuntu
求真求知的糖葫芦1 小时前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(中)(自用)
笔记·学习·平面·射频工程
江畔何人初2 小时前
LVM中物理卷、物理区块、卷组、逻辑卷的概念以及它们之间的关系
linux·运维·云原生·容器·kubernetes