【发布时间】:2011-11-25 21:28:05
【问题描述】:
我无法通过 sed 替换脚本中的修改日期。
我得到的是这样的最后修改日期:
olddate=`grep -m1 "Built " script.sh | cut -c 22-29`
我得到当前日期:
newdate=`date +%d/%m/%y`
基本上我想用新日期替换旧日期
sed -i "" "s/$olddate/$newdate/g" script.sh
但这不起作用,因为日期包含斜杠。我环顾四周,找不到正确逃脱它们的方法。任何帮助将不胜感激。
【问题讨论】:
-
grep [...] | cut [...]通常使用awk更好地表达(并为您节省一个管道) -
在这个的情况下,
awk '/Built / { print substr($0, 22, 8); exit }' script.sh