我有一堆HTML文件,我需要用它们以新的js路径替换所有出现的js(当前已被Jenkins阻止)。
例如:在一个名为www
的文件夹中,我有一些HTML文件
instance take index.html有src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js'></script>
的许多引用,我需要用src=https://<some-jenkins-server>/userContent/bootstrap.min.css
我应该能够使用带有sed命令的循环来替换文件夹中一堆html文件中的所有JS
答案 0 :(得分:0)
尝试一下:
for htmlfile in *.html; do
sed -i "s/\(.*src=['\"]\)[^'\"]*\.js\(['\"].*\)/\1https:\/\/<some-jenkins-server>\/userContent\/bootstrap.min.css\2/g" $htmlfile
done
说明
for htmlfile in *.html; do # loop over all *.html files
...
done
sed -i " # start sed with option inplace
s/ # substitution
\(.*src=['\"]\) # store everything up to ' or " in arg1
[^'\"]*\.js # the javascript
\(['\"].*\) # store everything up to end of line in arg2
/\1 # write arg1
https:\/\/<some-jenkins-server>\/userContent\/bootstrap.min.css # write replacement
\2 # write arg2
/g" # global on whole line
$htmlfile # inputfile
如果sed版本没有适当的选项(-i),则需要将输出重定向到文件。