0

我正在尝试用新 IP 替换 IP,但我无法这样做

Network_settings="1.1.1.1:8.9.0.0:9.9.9.9: IP ADDRESS: SUBNET MASK: GATEWAY"
val=`echo  "$Network_settings"| cut -d ":" -f1`;
sed -ri 's/(\b[0-9]{1,3}\.){3}[0-9]{1,3}/  'echo "$val"'/g' Network_settings.txt
4

3 回答 3

0
val=$( echo "$Network_settings" | awk -F: 'BEGIN{OFS=":"}{$1="2.2.2.2"; print $0}')

这会将新 ip 设置为2.2.2.2

这使用 awk。

于 2013-03-19T11:53:51.127 回答
0

shell 不会在这一行中执行 echo 命令:

sed -ri 's/(\b[0-9]{1,3}\.){3}[0-9]{1,3}/  'echo "$val"'/g' Network_settings.txt

sed一种方法是在脚本中使用双引号:

sed -ri "s/(\b[0-9]{1,3}\.){3}[0-9]{1,3}/$val/g" Network_settings.txt
于 2013-03-19T12:03:21.883 回答
0

这是一个使用示例sed

sed -r 's/\b([0-9]{1,3}\.){3}[0-9]{1,3}\b/'$val'/'
于 2013-03-19T12:15:16.560 回答