我疯了,试图遵循sed BRE(基本正则表达式)规则来替换HTML文件中非常简单的事件。使用sed替换HTML文件中的变量文本
我想我正确地跟着the spec,但没有一个我的尝试工作。
我想要做的是用新的东西(我正在计算作为我正在编写的脚本的一部分计算)替换一个元标记的内容。基本上,meta标签是这样的:
它总是包含遵循语法,在JS的正则表达式可以被描述为一个属性:
/version=\"v[0-9]+\.[0-9]+\.[0-9]+\"/g
所以我已经尝试了大量的sed命令来实现它的工作,并且它似乎不像记载的那样工作,除非我误解了事情。有些我已经试过命令:
✗ sed -i -E '' s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\"whatever/g ./src/index.html
✗ sed -i -E '' s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\"whatever/g './src/index.html'
✗ sed -i -E s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\"whatever/g ./src/index.html
✗ sed -i -E s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\whatever/g ./src/index.html
✗ sed -i -E s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\"whatever/g ./src/index.html
✗ sed -i '' s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\"whatever/g ./src/index.html
✗ sed -i '' s/version=\"v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/version=\whatever/g ./src/index.html
✗ sed -i '' s/version=\"v[:digit:]+\.[:digit:]+\.[:digit:]+/version=\whatever/g ./src/index.html
✗ sed -i '' s/v[:digit:]+\.[:digit:]+\.[:digit:]+/whatever/g ./src/index.html
✗ sed -i '' s/v[:digit:]+[:punct:][:digit:]+[:punct:][:digit:]+/whatever/g ./src/index.html
✗ sed -i '' s/v[:digit:][:punct:][:digit:][:digit:][:digit:][:punct:][:digit:]+/whatever/g ./src/index.html
✗ sed -i '' s/v[:digit:][:punct:][:digit:][:digit:][:digit:][:punct:][:digit:]/whatever/g ./src/index.html
✗ sed -i '' s/v[0-9]+\.[0-9]+.[0-9]+/whatever/g ./src/index.html
✗ sed -i '' s/version=\"[^ \"]+\"/whatever/g ./src/index.html
✗ sed -i '' s/version="[^ "]+"/whatever/g ./src/index.html
✗ sed -i '' s/version=\"[^\"]+\"/whatever/g ./src/index.html
✗ sed -i '' s/version=/whatever=/g ./src/index.html
✗ sed -i '' s/version=\"/whatever=\'/g ./src/index.html
✗ sed -i '' s/version=\"[^\"]/whatever=\"/g ./src/index.html
帮助?它是正确找到文件。当我尝试使用不包含正则表达式的版本(请参阅底部的第三个版本)时,它会正确替换,但不知何故,我的正则表达式语法在这里似乎不起作用。
或者任何人都可以想到一个更简单/更可靠的方法来做到这一点?
2017-06-29
Sasha
+1
尝试'sed的-i' “S /版= \” V [0-9] * \。[ 0-9] * \。[0-9] * \“/ whatever =/g”。/ src/index.html' –
+0
@WiktorStribiżew - 工作正常!想让它成为答案,以便我可以选择它? –