V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qq674949301
V2EX  ›  问与答

使用 sed 来修改一个配置文件问题求教

  •  
  •   qq674949301 · 2015-08-24 19:54:47 +08:00 · 1531 次点击
    这是一个创建于 3404 天前的主题,其中的信息可能已经有所发展或是发生改变。
    某路径下这个配置文件:
    #!/bin/sh

    ENABLED=yes
    PROCS=chinadns
    ARGS="-b 127.0.0.1 -p 5353 -c /opt/etc/chnroute.txt -s 114.114.114.114,208.67.222.222:443,8.8.8.8:53"
    PREARGS=""
    DESC=$PROCS
    PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

    . /opt/etc/init.d/rc.func

    我想修改 114.114.114.114 为本地的 DNS ,还有我已经指定这个$DNS 为本地的 DNS ,我该如何用 sed 命令修改:
    EP:
    #!/bin/sh

    DNS=`sed -n '1p' /jffs/dns.list`

    sed ........

    sed 请问各位这部分该如何实现?
    3 条回复    2015-08-26 09:12:16 +08:00
    neilp
        1
    neilp  
       2015-08-24 20:08:09 +08:00
    sed -i 's/^ARGS=\(.*\)114.114.114.114\(.*\)$/ARGS=\15.5.5.5\2/' a.txt
    neilp
        2
    neilp  
       2015-08-24 20:10:12 +08:00
    用这个:

    sed "s/^ARGS=\(.*\)114.114.114.114\(.*\)$/ARGS=\1$DNS\2/" a.txt
    qq674949301
        3
    qq674949301  
    OP
       2015-08-26 09:12:16 +08:00
    @neilp thanks
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5443 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 03:40 · PVG 11:40 · LAX 19:40 · JFK 22:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.