繁体   English   中英

使用sed替换文本

[英]Replace text using sed

我无法通过sed替换脚本中的修改日期。

我得到这样的最后修改日期:

olddate=`grep -m1 "Built " script.sh | cut -c 22-29`

我得到当前日期:

newdate=`date +%d/%m/%y`

基本上我想用新日期替换旧日期

sed -i "" "s/$olddate/$newdate/g" script.sh

但这不起作用,因为日期包含斜杠。 我环顾四周,我找不到正确逃脱的方法。 任何帮助,将不胜感激。

您可以使用除斜杠以外的其他分隔符,例如“ ;

sed -i "" "s;$olddate;$newdate;g" script.sh

使用代替/!

sed -i "" "s,$olddate,$newdate,g" script.sh

实际上,您几乎可以使用任何char作为分隔符。

使用sed "s#$olddate#$newdate#g"

应该工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM