テキストファイル内の単語または文字列を含む行を削除する方法

テキストファイルに数百行があり、単語または文字列を含む行を一括削除する場合は、この記事が役立ちます。

さまざまな方法を使用して、テキストベースのファイル内の単語を含む行を削除するために、優れたサードパーティのテキストエディターNotepad ++(無料)を使用してみましょう。

テキストファイル内の単語、フレーズ、または文字列を含む行を削除する

シナリオ:数千行を含む巨大なHOSTSファイルがあります。 ファイルからMSNアドバタイジングサーバーのエントリを削除したい。 つまり、 HOSTSファイルで文字列「 .msn.com 」を含む行を削除する必要があります。 仕事にはNotepad ++を使いましょう。

関連:Notepad ++や他のテキストエディターでメモ帳を置き換える方法?

注:いつものように、変更する前に必ずテキストファイルのバックアップコピーを作成してください。

方法1:Notepad ++のブックマーク機能を使用して行を削除する

  1. Notepad ++を使用してテキストベースのファイルを開く
  2. Ctrl + Fを押して、検索と置換ダイアログを開きます。
  3. [ マーク ]タブをクリックして選択します。
  4. [検索する文字列]テキストボックスに検索語句を入力します。 この例では、 .msn.comと入力します
  5. [ ブックマーク行]チェックボックスをオンにします。
  6. 検索モードを通常に設定します

  7. [ すべてマーク]をクリックします。これ.msn.com 、以下に示すように、文字列.msn.comを含むすべての行がマーク(ブックマーク)されます。

  8. [閉じる]をクリックして[検索]ダイアログを閉じます
  9. [検索]メニューの[ブックマーク]をクリックし、[ ブックマークされた行を削除 ]をクリックします。

これにより、テキストファイル内の検索文字列/単語/フレーズを含むすべての行が削除されます。

単語や文字列を含まない行を削除する方法は?

上記の反対を行うには、つまり、単語や語句を含まない行を削除します。

  1. 上記の手順1→8を繰り返します。
  2. 手順9で、Notepad ++の[検索]メニューから、[ マークされていない行を削除 ]をクリックします。

これにより、検索ワードまたは文字列を含む行を除くすべての行が削除されます。

方法2:RegExでFind and Replaceメソッドを使用して行を削除する

この方法では、正規表現を使用して、単語または語句を含む行を検索および置換します。 この方法は、ほとんどすべてのもの(「で始まる」という単語、または特定の「パターン」を持つ行な​​ど)に一致できるため、非常に強力です。

  1. Notepad ++を使用してテキストベースのファイルを開きます。
  2. Ctrl + Fを押して、検索と置換ダイアログを開きます。
  3. [ 置換 ]タブをクリックして選択します。
  4. 検索する文字 :」テキストボックスに、先頭に.*た検索語を入力します.* たとえば、「 books 」という単語を含む行を置き換える場合は、「 .*books.* 」と入力し.*books.*

    一方、2つ(特別)がある場合少し異なります . 検索文字列.msn.com (ドット)文字。 したがって、[ 検索する文字列]テキストボックスに次のように入力する必要があります。

     。* \。msn \ .com。* 
    .* –任意の文字と任意の数の繰り返しに一致します。

    \. –ドット(。)をエスケープするために使用されるので、システムは、文字列.msn.comに一致するように探していると理解します。

  5. 検索モードを正規表現に設定する
  6. Replace with:テキストボックスが空白のままになっていることを確認します。

    $config[ads_text6] not found
  7. [ すべて置換]をクリックします現在、Notepad ++は一致するすべての行を空白行に置き換えます。 [置換]ダイアログに、置換されたオカレンスの数が表示されます。 次に、これらの空白行を削除する必要があります。
  8. [検索/置換]ダイアログを閉じます。
  9. 空の行を削除するには、 編集 →行の操作→ 空の行の削除をクリックします。

これにより、検索ワードまたは文字列を含む行を除くすべての行が削除されます。

正規表現を使用して単語や文字列を含まない行を削除する方法は?

上記の反対のことを行うには、つまり、Regexを使用して単語やフレーズを含まない行を削除します。

  1. 上記のステップ1から3に従ってください。
  2. 手順4では、正規表現検索キーワード^(?!.*\.msn\.com).*$

    上記の検索演算子は、単語または文字列.msn.comを含まない行を見つけて、空の行に置き換えます。

  3. 次に、手順5〜9に従って、空の行を削除します。

それでおしまい! 上記の方法が、テキストファイル内の特定の文字列、単語、またはフレーズを含む(または含まない)行をすばやく削除するのに役立つことを願っています。

関連記事