regex – sed – 在模式中包含换行符
发布时间:2020-12-14 00:53:09 所属栏目:Linux 来源:网络整理
导读:我仍然是 shell脚本的菜鸟,但我正在努力.下面是一个部分工作的shell脚本,它应该通过匹配标记并删除其附带的内容来从* .htm文档中删除所有JS.例如. script src =“”, script / script和 script type =“text / javascript” find $1 -name "*.htm" ./pattern
我仍然是
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不合适,还有什么我可以使用的吗? 解决方法
假设你有< script>不同行上的标记,例如就像是:
foo bar <script type="text/javascript"> some JS </script> foo 以下应该有效: sed '/<script/,/</script>/d' inputfile (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |