2013-03-19 105 views
0

我想更換新的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 

回答

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

這臺新的IP,以2.2.2.2

這使用awk。

0

外殼是不會在這行執行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 
0

這裏是一個使用sed的示例:

sed -r 's/\b([0-9]{1,3}\.){3}[0-9]{1,3}\b/'$val'/'