代码之家  ›  专栏  ›  技术社区  ›  Houman

将代码附加到块时,sed未终止的“s”命令

  •  4
  • Houman  · 技术社区  · 8 年前

    这是我想更改的文件。我想在下面添加一个条目 servers { .

    eap-radius {
    
        # Section to specify multiple RADIUS servers.
        servers {
    
        }
    }
    

    这就是我尝试过的

    sed -i '/servers {/a\
    server-a {
                accounting = yes
                secret = 123456
                address = 127.0.0.1
                auth_port = 1812
                acct_port = 1813
    }
    ' /etc/strongswan.d/charon/eap-radius.conf
    

    sed:-e表达式#1,char 81:未终止的“s”命令

    1 回复  |  直到 8 年前
        1
  •  0
  •   urban    8 年前

    我认为你需要摆脱新的界线:

    sed '/servers {/a\
            server-a {\
                accounting = yes\
                secret = 123456\
                address = 127.0.0.1\
                auth_port = 1812\
                acct_port = 1813\
            }
    ' ./test.txt
    

    结果是(我也做了一些标记) server-a 块):

    eap-radius {
    
        # Section to specify multiple RADIUS servers.
        servers {
            server-a {
                accounting = yes
                secret = 123456
                address = 127.0.0.1
                auth_port = 1812
                acct_port = 1813
            }
    
        }
    }
    

    在Ubuntu 14.04.5 LTS上测试,GNU bash版本4.3.11(1)-发行版

    推荐文章