Sed(1)

与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这两个采用编辑命令删除记录。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇是当初看完Chinaunix论坛的帖子“抛砖引玉----翻译加注sed1line”的笔记,最近无聊从Evern...
    magic5650阅读 1,196评论 0 4
  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 1,936评论 0 21
  • 1 你想过sed为什么叫sed么? sed是stream editor的缩写,sed就是一个流编辑器,说白了,就是...
    shuff1e阅读 281评论 0 0
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 4,425评论 3 74
  • 虎妞笑妈叫醒计划第5篇, 补听170919《养育女孩》D2学而思 第二章的触动点:孕期妈妈的情绪很重要,回想当初自...
    笑妈Darling阅读 542评论 0 1