sed 语言学习技巧(1)

用户头像
老壳有点爽
关注
发布于: 2020 年 08 月 23 日

与Vim的正则表达式有些不同,下面介绍sed的正则表达式:



1)^匹配一行的开始

2) $匹配一行的结束

3) .匹配任何的单个字符

4) *匹配另个或者多个以前出现的字符

5) [chars]为了匹配任何字符串的字符,可以使用-来定义字符的范围[a-z]匹配小写字母,[a-zA-Z]匹配一个字母[0-9]匹配数字[a-zA-Z0-9]匹配单个字母或者数字;

6)字符类关键字:[[:alnum:]]字母(a-zA-Z0-9)[[:alpha:]]字母(a-zA-Z)

7)引用&,表示被匹配的pattern的内容;

8)\(\)和相应的\1\2等替换排序内容等。

Sed:语法

1)‘4,10d’删除4到10行;’10,4d’只删除10行;’2,5!d’删除2-5行外的其他行;’4,+5d’删除第4行,继续删除下5行,停止删除输出其他行;’1,3d‘删除第一行后,跳过下面3行,继续删除第4行,然后以这种顺序进行删除;’4,d’错误;’,10d‘产生语法错误

2)s/pattern1/pattern2/flag,flag替换标志:g替换所有匹配的字符而不是第一个,Number,仅仅替换第n个匹配的字符;如果发生替换,输出匹配空间;w FILENAME发生了替换将内容写入FILENAME;I or i不区分大小写进行匹配;M or m除了^$正常行为外,^匹配换行符后的空字符串,让$匹配换行符前的空字符串;

3)

Sed:/pattern/action

Action有p输出该行,d删除该行,s/模式1/模式2/替代第一次出现的模式1和模式2;

cat /etc/passwd | sed ‘d’

sed –e ’d’ /etc/passwd这两个采用编辑命令删除记录。



用户头像

老壳有点爽

关注

连续跨行者,ICT创业者 2018.04.18 加入

连续跨行者,IC、IT、创业,横跨芯片设计前后端,软件设计、产品经理,产业互联网、教育行业、GIS、智能硬件等诸多领域

评论

发布
暂无评论
sed语言学习技巧(1)