我想更换新的IP的IP取代,但我不能这样做查找和shell脚本
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
我想更换新的IP的IP取代,但我不能这样做查找和shell脚本
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
val=$(echo "$Network_settings" | awk -F: 'BEGIN{OFS=":"}{$1="2.2.2.2"; print $0}')
这台新的IP,以2.2.2.2
这使用awk。
外壳是不会在这行执行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
这里是一个使用sed
的示例:
sed -r 's/\b([0-9]{1,3}\.){3}[0-9]{1,3}\b/'$val'/'