2014年2月26日

【PowerShell】ファイルから文字列を検索する



ファイルに含まれる文字列を検索する、いわゆるgrep機能を行うにはSelect-Stringを使います。


構文は以下の通りです。
Select-String -Pattern [検索したい文字列] -Path [検索するファイル]

または、

Select-String [検索したい文字列] [検索するファイル]

PS C:\work> Select-String "hello" .\*.*



上の例では、カレントディレクトリのワイルドカード「*.*」のファイルの中から「hello」という文字が含まれているファイルを探しています。

ちなみに日本語を検索する場合はちょっと注意が必要です。

PS C:\work> Select-String "たぬき" .\*.* -Encoding default



文字コードがS-JISで作成されたファイルを検索する場合は、うしろに-Encoding defaultを付けてください。

UTF8の場合は、-Encoding UTF8と指定してください。


<関連記事>
【PowerShell】サブフォルダのファイルも含めて文字列を検索する
【PowerShell】ファイル検索
【PowerShell】2つのファイルを比較する
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成



スポンサーリンク