PowerShellコマンドレット虎の巻

Select-String

Select-Stringは、文字列を検索するコマンドです。

エイリアスsls

解説

文字列を検索します。
検索対象はファイルの中身または、指定したオブジェクト(文字列)から検索できます。
検索方法も単純文字列の他、正規表現形式も使用できます。

構文

(構文)
Select-String [-Pattern] <string[]> [-Path] <string[]> [<CommonParameters>] Select-String [-Pattern] <string[]> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-InputObject 文字列検索対象のオブジェクト(文字列)を指定する
-Pattern パターン検索するパターンを指定する(正規表現形式 or 文字列)
-Path パス対象パスを指定する(ワイルドカード使用可)
(例)-Path "D:\test*"
-LiteralPath パス対象パスを指定する(ワイルドカード使用不可)
(例)-LiteralPath "D:\test"
-SimpleMatch単純文字列一致で検索する
(省略時は正規表現として検索)
-CaseSensitive大文字小文字を区別する
(省略時は区別しない)
-Quiet一致した場合はTrueを返す
-ListPathを指定した場合、各ファイルの最初の一致のみを返す
-Include 文字列指定した文字列を対象に含める
(ワイルドカード使用可)
(例)-Include *.log,*.tmp
 ⇒拡張子がlog、tmpのファイルを含める
-Exclude 文字列指定した文字列を対象から除外する
(ワイルドカード使用可)
(例)-Exclude Test*
 ⇒ファイルがTestで始まる物を除外する
-NotMatchパターンに一致しないものを検索する
-AllMatches複数の一致を検索する
-Encodingファイル検索時に使用する文字コードを指定する
UTF8:UTF-8
UTF7:UTF-7
UTF32:UTF-32
Unicode:UTF-16(リトルエンディアン)
BigEndianUnicode:UTF-16(ビッグエンディアン)
OEM:現在のOEMコードページ識別子
Default:システムのANSIコードページのエンコード
ASCII:ASCII
-Context 行数一致行の前後に表示する行数を指定する
(例)-Context 3,5 ※一致行の前に3行、後ろに5行表示する

共通的なパラメータは「共通パラメータ」をご覧ください。

サンプル

ファイル「C:\sample.txt」を対象として、文字列"Red"が存在する行を検索する

Select-String -Path C:\sample.txt -Pattern "Red"

ファイル「C:\sample.txt」を対象として、文字列"Red"が存在しない行を検索する

Select-String -Path C:\sample.txt -Pattern "Red" -NotMatch

指定した文字列から検索する

$str = "AppleOrangeBanana" Select-String -InputObject $str -Pattern "ORANGE" ⇒ 一致する

指定した文字列から検索し、True/Falseで返す

$str = "AppleOrangeBanana" Select-String -InputObject $str -Pattern "ORANGE" -Quiet ⇒ True

指定した文字列から大文字小文字を区別して検索する

$str = "AppleOrangeBanana" Select-String -InputObject $str -Pattern "ORANGE" -CaseSensitive ⇒ 一致しない

コマンドのヘルプを表示する

Get-Help Select-String

備考

  • パラメータ名の「-Path」「-Pattern」は省略可能です。

関連項目