2017-11-18 172 views
4

這是我想要更改的文件。我想在servers {下添加一個條目。將代碼附加到代碼塊時終止了's'命令

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,焦炭81:未結束的'S'命令

+0

建議:保存文本文件中的並使用'r'命令..它將穩健無論你有什麼字符..而'a'命令將解釋反斜槓序列和其他東西.. – Sundeep

回答

0

我想你需要逃跑換行:

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)-release