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
を使用した例を次に示しsed
ます。
sed -r 's/\b([0-9]{1,3}\.){3}[0-9]{1,3}\b/'$val'/'
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
これを行う 1 つの方法は、スクリプトに二重引用符を使用することです。
sed -ri "s/(\b[0-9]{1,3}\.){3}[0-9]{1,3}/$val/g" Network_settings.txt