在文件中查找单词并删除到文件末尾

时间:2013-06-30 08:25:55

标签: regex linux sed

我需要在文件中找到一个表达式并将其删除,之后将所有内容删除到文件末尾 例如我有像:

这样的文件
<html>
    <body>
        <p>HELLO WORLD!</p>
    </body>
</html><script>
    HELLO
    I
    AM
    VIRUS
</script>

我希望将其更改为:

<html>
    <body>
        <p>HELLO WORLD!</p>
    </body>
</html>

它必须用sed解决,但我不知道如何匹配sed中的多行。

1 个答案:

答案 0 :(得分:3)

使用此:

sed '/<script>/{s/<script>.*$//;q;}' infile > outfile

您不需要匹配多行,只需匹配一行并退出q即可停止打印剩余部分。