Categories: Windows

Windowsのバッチファイルで特定の文字列を検索するfindコマンドの紹介

本記事では、ファイルの中から特定の文字列を計算する「find」コマンドを紹介します。

findコマンドを用いることで、テキストファイル等から特定の文字列の有無を検索することができます。

以下にその使い方を見ていきましょう。

基本:findコマンドを用いて特定の文字列を検索する方法

まずは最もスタンダードな使い方を見ていきましょう。以下のコマンドで「test.txt」ファイルを対象に、「bc」という文字列を検索することができます。

検索したい文字列を「”」(ダブルクオーテーション)で囲みます。

find "bc" test.txt

例えば、以下のような「test.txt」に対して上記のコマンドを実行すると、最初の1行目「abcde」の中に「bc」があるので、1行目のみを抽出することができます。

応用:findコマンドのオプション解説

findコマンドにはいくつかのオプションが設定されています。

オプション説明
/V指定した文字列が存在しない行を得る
/N表示結果に行番号を表示する
/C検索にヒットした行数を表示する
/I大文字・小文字を区別せずに検索する

オプションを使った場合の動作についても見てみましょう。

findコマンドを用いて特定の文字列が存在しない行を抽出する方法

「/V」オプションを用いることで、特定の文字列が存在しない行を抽出することができます。試しに、上記で紹介したサンプルのコマンドに「/V」オプションを付けてみます。

find /V "bc" test.txt

上記を実行すると、”bc”がない行を全て抽出することができます。

findコマンドを用いて検索にヒットした行数を表示する方法

「/C」コマンドを用いることで、検索にヒットした行数を表示することもできます。

find /C "bc" test.txt

上記を実行すると、以下のように「1」という数字が表示され、テキストファイルの中で1行のみがヒットしたことがわかります。

Haruoka