テキストファイルから特定の段落を削除する方法は?

テキストファイルから特定の段落を削除する方法は?

次の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 -0777 -pe 's/<body>.*<\/body>//s' <file
  • オプションを使用-0777すると、Perlはファイルを1行に読み込みます。
  • 置換は、s/…//本文タグとその中に含まれるすべての項目を置き換えます。このオプションは-0777置換後の修飾子と結合されるため、行の境界を超えて機能します。s

ファイルを適切に変更するには、次のようにします。

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

関連情報