告诉我如何使用sed命令添加它。
[修订前]
BONDING_OPTS="mode=1 miimon=200 primary=ens192"
[修订后]
BONDING_OPTS="mode=1 miimon=200 primary=ens192 primary=eth0"
到目前为止我已经成功了。
sed "/BOND/s/$/primary=eth0/g" /etc/sysconfig/network-scripts/ifcfg-bond0
输出:
BONDING_OPTS="mode=1 miimon=200 primary=ens192"primary=eth0
答案 0 :(得分:1)
感谢您在文章中做出的努力。您能不能试一下。
awk '/BOND/{sub(/\"$/," primary=eth0&")} 1' Input_file
如果要将输出保存到Input_file本身,请尝试:
awk '/BOND/{sub(/\"$/," primary=eth0&")} 1' Input_file > temp && mv temp Input_file
使用sed
:
sed '/BOND/s/\"$/ primary=eth0&/' Input_file
请使用sed -i
(将输出保存到Input_file本身)或使用sed -i.bak
(将输出保存到Input_file本身,以备份现有Input_file)。
答案 1 :(得分:1)
sed '/BOND/s/"$/ primary=eth0"/'
sed
之前要经过shell解释,这经常会导致错误
$
锚点之前添加该条件-在这种情况下为"
如果在锚点之前有非平凡的字符串或正则表达式,则可以使用&
在替换部分中取回匹配的字符串,而不必复制文本
sed '/BOND/s/"$/ primary=eth0&/' ip.txt
有关就地编辑的信息,请参见sed in-place flag that works both on Mac (BSD) and Linux