1

我无法获得以下 bash sed 命令来查找和替换,因为它无法匹配:

$ sed -i.bak 's,\"js/lj.main.min.js\?\d{14}\","js/lj.main.min.js?20130521080532",g' index.html

或者

$ sed -i.bak 's,\"js/lj\.main\.min\.js\?\d{14}\","js/lj.main.min.js?20130521080532",g' index.html

在一个文本文件上,包括:

<script src="js/lj.main.min.js?20130520120515"></script>

应更改为:

<script src="js/lj.main.min.js?20130521080532"></script>

当我在http://fiddle.re/m7x56中尝试时,正则表达式本身可以工作

那么这是什么一回事?

4

1 回答 1

2

这个表达对我有用:

's,"js/lj\.main\.min.\js?[0-9]\{14\}","js/lj.main.min.js?20130521080532",g'

请注意,有许多版本的正则表达式库。某些功能 ( \d) 可能不受支持,某些特殊字符的反斜杠可能不同 ({}?)

于 2013-05-21T13:21:49.670 回答