【发布时间】:2013-05-10 05:12:13
【问题描述】:
我想运行一个脚本来更改 HTML 代码中的一行,以指示页面上次更新的时间。例如,我有一行
<d>This page was last updated on 29.04.2013 at 00:34 UTC</d>
我现在正在更新它,所以我想用
替换该行<d>This page was last updated on 15.05.2013 at 15:50 UTC</d>
这是我的源代码中唯一带有<d> 标记的行,希望对您有所帮助。我已经有一些代码可以使用当前日期和时间生成新字符串,但我无法找到替换旧字符串的方法(它会改变,所以我不知道确切是什么它是)。
我尝试在上一行添加注释<!--date-->,删除包含<d> 的整行(带有grep),然后在作为新字符串的注释之后添加新行,但这失败了。例如,如果我只想在评论后插入字符串text,然后使用
sed -i 's/<!--date-->/<!--date-->text/' file.html
我收到invalid command code j。我想可能是因为字符串中有一些特殊字符,如<、!和>,但如果我想在上面输入日期字符串,我会有更多,比如:和/。感谢您提供有关如何解决此问题的任何想法。
【问题讨论】:
-
信不信由你,我认为问题在于您正在使用
csh或其他试图对单引号内的!进行历史扩展的shell。尝试使用不同的外壳。