我仍然是 shell 脚本的菜鸟,但我正在努力。下面是一个部分工作的 shell 脚本,它应该通过匹配标签并删除它们包含的内容来从 *.htm 文档中删除所有 JS。例如<script src="">
,<script></script>
和<script type="text/javascript">
find $1 -name "*.htm" > ./patterns
for p in $(cat ./patterns)
do
sed -e "s/<script.*[.>]//g" $p #> tmp.htm ; mv tmp.htm $p
done
这个脚本的问题在于,因为 sed 逐行读取文本输入,所以该脚本无法按预期使用换行符。跑步:
<script>
//Foo
</script>
将删除第一个脚本标签,但会省略我不想要的“foo”和结束标签。
有没有办法在我的正则表达式中匹配换行符?或者如果sed
不合适,还有什么我可以使用的吗?