如何删除文本文件中的特定段落?

如何删除文本文件中的特定段落?

我有以下 html 文件。

{% load staticfiles %}
<html>
    <head>
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
        <link href="http://fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext" rel="stylesheet" type="text/css">
        <title>This is my page </title>
        <link rel="stylesheet" href="{% static 'css/blog.css' %}">
    </head>
<body>
    <div class="content container">
        <div class="row">
             <div class="col-md-8">
                 {% for post in posts %}
                    <div class="post">
                        <div class="date">
                            <p>published: {{ post.published_date }}</p>
                        </div>
                        <h1><a href="">{{ post.title }}</a></h1>
                        <p>{{ post.text|linebreaks }}</p>
                    </div>
                {% endfor %}
            </div>
        </div>
    </div>
<p>Hi there!</p>
<p>It works!</p>
</body>
</html>

我想删除 ' 中的所有内容身体' 标签只有 1 个命令,我该怎么做?

答案1

使用“perl”

perl -0777 -pe 's/<body>.*<\/body>//s' <file
  • 选项-0777使 Perl 将文件作为单行读取
  • 替换s/…//替换了正文标签和其中的所有内容。由于替换后该选项-0777与修饰符结合使用,因此可以跨行边界工作。s

要就地修改文件,请使用

perl -0777 -pe 's/<body>.*<\/body>//s' -i file

相关内容