sed总结

Posted 脑洞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed总结相关的知识,希望对你有一定的参考价值。

sed命令行格式为:
         sed [选项]  ‘定址command’  文件        

常用选项:
     

        -n∶取消默认的输出,使用安静(silent)模式。只有经过sed 特殊处理才会被列出来
        -e∶进行多项编辑,一般用分号可以替代。
        -f∶指定sed脚本的文件名.-r∶扩展正则表达式+,?,|,()
        -i∶直接修改读取的文件内容,而不是由屏幕输出 
        -i.bak   生成源文件.bak备份文件,并直接修改源文件 

 

    

常用命令:
      

i ∶ 插入, 在指定行前插入,(i\text)
a ∶ 新增, 在指定行后新增,(a\text)
c ∶ 替换, 将指定行替换 ,(c\text)
s ∶ 替换, 1,20s/old/new/g
y : 转换 y/old/new/ 字符对应转换,是每个字符转换,不是单词。
n : 读取下一行,下一行不会被再次读取。
d : 删除,因为是删除,所以 d 后面通常不接任何内容,因为后面的指令不会被执行。
r : 读取文件内容到指定行 r file
w : 保存内容到file
q : 退出,避免读取过多的无用行。
p : 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起用
l : 打印行显示控制字符
= : 打印行号

 


 

定址

定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式、或二者的结合。如果没有指定地址,sed将处理输入文件的所有行。
地址是一个数字,则表示行号;是“$"符号,则表示最后一行. 地址是逗号分隔的,那么需要处理的地址是这两行之间的范围(包括这两行在内)。范围可以用数字、正则表达式、或二者的组合表示。
 

 

         N   #第N行
        N,M  #第N到M行
        $    #最后一行
   /RegExp/  #正则匹配到的行
/RegExp/,/RegExp/ # /1^/,/2^/

 

 高级指令

 

N  #将下一行读入模式空间,用\n连接两行
D  #删除模式空间第一行内容,并继续执行编辑指令
P  #打印模式空间第一行内容

 

 sed的保持空间(Hold Space)

    h   #将模式空间内容复制到保持空间
    H   #将模式空间内容追加到保持空间
    g   #将保持空间内容复制到模式空间
    G   #将保持空间内容追加到模式空间
    x   #交换保持空间和模式空间的内容

 

以上是关于sed总结的主要内容,如果未能解决你的问题,请参考以下文章

BootStrap实用代码片段(持续总结)

回归 | js实用代码片段的封装与总结(持续更新中...)

sed命令总结

grep,sed,awk 个人总结

查看发票组代码后的总结和有感

Sed命令总结