0
我有一個網絡腳本,我試圖在包含字符串默認路由之後插入一行。我用使用sed插入包含單引號的字符串
sed -i '/default route/a option device '/dev/modem'' /etc/network
但它不包括單引號,即返回
option device /dev/modem
,我需要它來閱讀
option device 'dev/modem'
我有一個網絡腳本,我試圖在包含字符串默認路由之後插入一行。我用使用sed插入包含單引號的字符串
sed -i '/default route/a option device '/dev/modem'' /etc/network
但它不包括單引號,即返回
option device /dev/modem
,我需要它來閱讀
option device 'dev/modem'
的主要問題是,你重用單引號。最簡單的方法是在雙引號包住命令:
sed -i.bak "/default route/a\
option device '/dev/modem'" /etc/network
我還做了幾個其他的變化,使命令在不同版本的sed的更加兼容:
a\
。-i
開關添加了後綴(-i
不是標準的,但至少帶有後綴更多標準)。非常感謝你 – Lurch
使用:'sed -i「/默認路由/選項設備'/ dev/modem'」文件' – sat
您可能想要閱讀https://www.gnu.org/software/bash/manual/ bashref.html#引用 –