Bash:更新文件中的变量

use*_*001 0 linux bash centos

我知道这是一个简单的答案,在找到答案之前我可能可以继续在谷歌上进行挖掘。但我的日程很紧,我希望能得到一个简单的答复。

我需要在安装时更新 ifcfg-eth0 中的变量。换句话说,这就是需要发生的事情:

以下变量需要更改:

ONBOOT=no
BOOTPROTO=dhcp
Run Code Online (Sandbox Code Playgroud)

ONBOOT=yes
BOOTPROTO=static
Run Code Online (Sandbox Code Playgroud)

提前致谢!

干杯。

kon*_*box 5

sed -i -e '/^ONBOOT=/s|.*|ONBOOT=yes|; /^BOOTPROTO=/s|.*|BOOTPROTO=static|' file
Run Code Online (Sandbox Code Playgroud)

还可以尝试:

sed -i -re 's|^(ONBOOT=).*|\1yes|; s|^(BOOTPROTO=).*|\1static|' file
Run Code Online (Sandbox Code Playgroud)

或者

sed -i -e 's|^\(ONBOOT=\).*|\1yes|; s|^\(BOOTPROTO=\).*|\1static|' file
Run Code Online (Sandbox Code Playgroud)