Regex 替换或删除某些文件中的不同文本
希望你能理解我的要求。 在linux debian系统上 我在不同的目录中有大约1000个不同的文件*.bla*.bli*.blo。 使用以下行:Regex 替换或删除某些文件中的不同文本,regex,replace,sed,Regex,Replace,Sed,希望你能理解我的要求。 在linux debian系统上 我在不同的目录中有大约1000个不同的文件*.bla*.bli*.blo。 使用以下行: <!--blablo--><script src="xxxx://bla.blub/bla.xxx?id=blabla" type="text/javascript"></script><!--/blablo--> <!--blabli--><script src="xxxx://b
<!--blablo--><script src="xxxx://bla.blub/bla.xxx?id=blabla" type="text/javascript"></script><!--/blablo-->
<!--blabli--><script src="xxxx://bla.blub/bla.xxx?id=blibli" type="text/javascript"></script><!--/blabli-->
<!--blublu--><script src="xxxx://bla.blub/bla.xxx?id=bloblo" type="text/javascript"></script><!--/blublu-->
我只想删除行或替换为空格。
如果有人能这么好,请帮助我
我尝试使用sed,但我认为我不够聪明,无法理解regex。
谢谢。您可以尝试:
for i in *.bl[aio]; do
sed -i.bak '/--bl[a-z]bl[a-z]--/d' "$i"
done
我认为将军,你需要匹配这一点:
<!--different--><script src="thisisalwaysthesame.org/different.php?id=different"; type="text/javascript"></script><!--/different-->
不同的词总是不同的。抱歉,我不知道如何重新解释我的英语不是很好:)无法理解该评论。是否要删除所有包含
script src
的行?不,然后我也会删除包含script src的其他行。从这里开始:然后您需要提供一个搜索模式
,删除这些行时应该使用该模式。
<!--[^-]+--><script src="thisisalwaysthesame[.]org/[^?]+[?]id=[^"]+"; type="text/javascript"></script><!--/[^-]+-->
gawk -i inplace '{ print (/<!--[^-]+--><script src="thisisalwaysthesame[.]org/[^?]+[?]id=[^"]+"; type="text[/]javascript"><[/]script><!--[/][^-]+-->/ ? "" : $0) }' *.bl[aio]