Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 替换或删除某些文件中的不同文本_Regex_Replace_Sed - Fatal编程技术网

Regex 替换或删除某些文件中的不同文本

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

希望你能理解我的要求。 在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://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]