2016-08-02 3 views
2

問題があります。私は、ネットマスク/24かを含めることができますIP、あるsedネットマスク(sed)でIPを書く

newsource=1.2.3.4/24 
sed -i 's/.*#source*/&\n'"$newsource"'/' file 

$newsourceでファイルにIPを書きたいです。現在、sedはフルIPを書き込みますが、/24は書きません。どうすれば変更できますか?

答えて

2

あなた/を逃れ、または何か他のものにsed区切りを変更する必要がありますので、これは次のとおりです。

エスケープ:~

\/
newsource=1.2.3.4\/24 
sed -i 's/.*#source*/&\n'"$newsource"'/' file 

または

変更sedセパレータ
newsource=1.2.3.4/24 
sed -i 's~.*#source*~&\n'"$newsource"'~' file 

共有して楽しんでください。

2

試してみてください。

sed -i 's|.*#source*|&\n'"${newsource}"'|' file 

あなたは脱出するために、\を使用することができます/そのパスを変数に格納されているので、それは別の区切り文字を使用する方が簡単でしょう。

関連する問題