美文网首页Shellsed
关于sed的简单用法

关于sed的简单用法

作者: Prince_wyf | 来源:发表于2018-12-24 20:22 被阅读7次

    sed 是流编辑器 (stream editor )的缩写。此外还可以配合正则表达式使用,功能十分强大,下面将介绍如何利用sed对文件进行增删改查操作。

    1. 改 (s**g)
    # 语法  sed -i 's/old/new/g' filename   # -i 选项表示将替换结果写入原文件,如果不加 -i 则只会在终端打印但是不会修改原文件 
    cat ip.txt
    ip1=static
    ip2=static
    ip3=static
    1.基本语法:sed -i 's/static/dhcp/g' ip.txt
    修改后:
    ip1=dhcp
    ip2=dhcp
    ip3=dhcp
    2.如果只想要修改第2行的可以 (注意:不管任何信息只要占一行也算一行)
    sed -i '2s/static/dhcp/g' ip.txt
    3.如果想修改第二个匹配到的   (注意:2s 是修改第二行的,而2g 则是修改匹配到的第二个的 )
    sed -i 's/static/dhcp/2g' ip.txt
    4.基于正则
    sed -i '/reg/s/old/new/g' ip.txt
    sed -i '/^ip2/s/dhcp/static/g' ip.txt   # 是不是很简单,哈哈
    
    1. 删 (d)
     基本语法
    sed  -i '2d' ip.txt     # 删除第二行的内容
    sed -i '/reg/d' ip.txt # 基于正则删除
    
    1. 增 (a)
    基本语法
    sed -i '2a name=zhangsan ' ip.txt    # 在第二行后面加
    sed -i '/^ip2/a age=18'   # 基于正则匹配添加
    补充:
    删除空行
    sed -i '/^$/d' filename   # ^$ 代表用正则匹配的空行
    
    1. 查 (p)
    基本语法  #注意这里不再是 -i  而是 -n
    sed -n '2p' ip.txt    #查出第二行内容并打印输出
    sed -n '/^ip2/p' ip.txt   # 基于正则查找  
    

    这里只是一些基本用法,具体还要结合实际情况来进行更复杂的操作。。。

    相关文章

      网友评论

        本文标题:关于sed的简单用法

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