連載
» 2016年07月06日 05時00分 UPDATE

Windows PowerShell基本Tips(3):【 Select-String 】コマンドレット――ファイルからテキスト(文字列)を検索する

本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Select-String」コマンドレットです。

[新井慎太朗,株式会社ソフィアネットワーク]
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイル検索に役立つ「Select-String」コマンドレットです。

Select-Stringコマンドレットとは?

 Select-Stringコマンドレットは、特定のテキスト(文字列)を含むファイルを検索するためのコマンドレットです。例えば、「社外秘」や「Confidential」というテキストを含むファイルを検索することができます。

 Select-Stringコマンドレットは、UNIX/Linuxの「grep」コマンドやWindowsの「Findstr」コマンドと同じように使用できます。このコマンドレットによって取得したファイルに対して、暗号化などの別のタスクを実行するというように活用することもできます。


Select-Stringコマンドレットの書式

Select-String [ファイルパス] [オプション]

※[ ]は省略可能な引数を示しています



Select-Stringコマンドレットの主なオプション

 Select-Stringコマンドレットの主なオプションは次の通りです。

オプション 意味
-Path ファイルのパスを指定する。省略可能
-Pattern 検索するテキストを文字列または正規表現で指定する
-NotMatch 指定したパターンに一致しないファイルを検索する
-CaseSensitive 大文字と小文字を区別する。省略時は区別されない


指定したテキストが含まれるファイルを検索する

 「Select-String ファイルパス -Pattern 検索するテキスト」と実行すると、ファイルパスから指定したテキストが含まれるファイルを検索します。ファイルパスの指定はワイルドカード(*)も使用可能です。フルパスではなく、ファイル名のみを指定した場合は、カレントディレクトリから検索されます。

 ファイルパスで、ディレクトリのみを指定するとエラーになります。特定のディレクトリ内の全ファイルから検索する場合には、ファイルパスに「<ディレクトリパス>\*.*」と指定します。

 以下の実行例では、「C:\Work」フォルダ内から「abc」というテキストを含む全てのファイルを検索しています(画面1)。

コマンドレット実行例

Select-String C:\Work\*.* -Pattern abc


画面1 画面1 「-Pattern」オプションを付けて「C:\Work」フォルダ内から「abc」を含む全てのファイルを検索しているところ

 実行結果では、該当するファイル名、行番号、文字列データを確認することができます。また、特定の拡張子を持つファイルから検索する場合には、ファイルパスに「*.txt」などと指定します。



指定したテキストを含まないファイルを検索する

 指定したテキストを含まないファイルを検索する場合には、「-NotMatch」オプションを使用します。

 以下の実行例では、「-NotMatch」オプション付けて、「abc」というテキストを含まないファイルを検索しています(画面2)。

コマンドレット実行例

Select-String C:\Work\*.* -Pattern abc -NotMatch


画面2 画面2 「-NotMatch」オプションを付けて、「abc」というテキストを含まないファイルを検索しているところ


大文字と小文字を区別して検索する

 既定では、指定したテキストの大文字と小文字は区別されません。検索したいテキストの指定で大文字と小文字を区別したい場合には、「-CaseSensitive」オプションを使用します。

 以下の実行例では、大文字と小文字を区別し、「abc」というテキストを含むファイルを検索しています(画面3)。

コマンドレット実行例

Select-String C:\Work\*.* -Pattern abc -CaseSensitive


画面3 画面3 「-CaseSensitive」オプションを付けて、大文字と小文字を区別した上で、「abc」を含むファイルを検索しているところ


筆者紹介

新井 慎太朗(あらい しんたろう)

株式会社ソフィアネットワークに所属。2009年よりマイクロソフト認定トレーナーとして、Windowsを中心としたサーバおよびクライアント管理、仮想化技術に関するトレーニングを提供している。無類の猫好き。共同執筆者である国井家で飼われている猫に夢中。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。