Sed(1)

作者: 集成电路基础与数字集成电路设计 | 来源:发表于2017-09-02 18:10 被阅读0次

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

    相关文章

      网友评论

        本文标题:Sed(1)

        本文链接:https://www.haomeiwen.com/subject/tnyrjxtx.html