我无法通过sed替换脚本中的修改日期。
我收到的最后修改日期如下:
olddate=`grep -m1 "Built " script.sh | cut -c 22-29`
我得到当前日期:
newdate=`date +%d/%m/%y`
基本上我想用旧日期替换旧日期
sed -i "" "s/$olddate/$newdate/g" script.sh
但这不起作用,因为日期包含斜杠。我环顾四周,无法找到正确逃脱它们的方法。任何帮助将不胜感激。
答案 0 :(得分:6)
您可以使用除斜杠之外的分隔符,例如“; ”
sed -i "" "s;$olddate;$newdate;g" script.sh
答案 1 :(得分:3)
使用,而不是/!
sed -i "" "s,$olddate,$newdate,g" script.sh
实际上,您几乎可以使用任何char作为分隔符。
答案 2 :(得分:2)
使用sed "s#$olddate#$newdate#g"
应该有效