sed 替换字符串中的数字

tim*_*son 4 linux macos bash sed

我可以替换字符串中的文本,但是一旦我尝试输入数字,它就无法匹配。

请注意,这[0-9]\+\是导致问题的原因。

这有效:

sed -i "" -e "s/mySite-.js/mySite$current_timestamp.js/" template.php
Run Code Online (Sandbox Code Playgroud)

这不会:

sed -i "" -e "s/mySite-[0-9]\+\.js/mySite$current_timestamp.js/" template.php
Run Code Online (Sandbox Code Playgroud)

我很抱歉之前问过这个问题,但我在这个愚蠢的事情上花了将近一整天的时间,我快疯了。

she*_*ter 5

请考虑包括示例数据和预期输出。

如果您想用 删除重复数字,请[0-9]\+尝试删除\并使用[0-9]+.

如果这不起作用,那么你的 sed 不支持+,所以使用

 sed -i "" -e "s/mySite-[0-9][0-9]*\.js/mySite$current_timestamp.js/"  template.php
Run Code Online (Sandbox Code Playgroud)

IHTH