Regex 在文件中查找word并删除到文件末尾
我需要在一个文件中找到一个表达式,并将其删除,然后将其删除到文件末尾 例如,我有如下文件:Regex 在文件中查找word并删除到文件末尾,regex,linux,sed,Regex,Linux,Sed,我需要在一个文件中找到一个表达式,并将其删除,然后将其删除到文件末尾 例如,我有如下文件: <html> <body> <p>HELLO WORLD!</p> </body> </html><script> HELLO I AM VIRUS </script> 你好,世界 你好 我 是 病毒 我想把它改成这样: <html&g
<html>
<body>
<p>HELLO WORLD!</p>
</body>
</html><script>
HELLO
I
AM
VIRUS
</script>
你好,世界
你好
我
是
病毒
我想把它改成这样:
<html>
<body>
<p>HELLO WORLD!</p>
</body>
</html>
你好,世界
它必须通过sed解决,但我不知道如何匹配sed中的多行。使用以下方法:
sed '/<script>/{s/<script>.*$//;q;}' infile > outfile
sed'/{s/*$/;q;}'infle>outfile
您不需要匹配多行,只需匹配一行并使用
q
退出即可停止打印其余的行。您可以使其更简洁(也更模糊):'/.*$/{s////;q}'
-s///
中的空正则表达式将重复使用最后匹配的表达式。