【PowerShell】ファイル内の文字列検索(OR検索, AND検索, NOT検索)
PowerShellでテキスト検索する方法(OR検索, AND検索, NOT検索)。
検索①:ファイル内の文字列検索(OR検索)
✏スクリプト
$TargetPath="C:\TEMP\*.txt"; Select-String -Path $TargetPath -Pattern "hoge","age" -Encoding default
☝スクリプトの説明
♦1行目:
$TargetPath="C:\TEMP\*.txt";検索対象のファイルパス(C:¥TEMP¥*.txt)を指定。
♦2行目:
Select-String -Path $TargetPath -Pattern "hoge","age" -Encoding default検索対象のファイル(C:¥TEMP¥*.txt)のうち、文字列 "hoge" もしくは "age" を含むファイルを検索。「-Encoding default」は日本語環境であれば「Shift-JIS」を読み込む。「UTF8」であれば「-Encoding UTF8」。
検索②:ファイル内の文字列検索(AND検索)
✏スクリプト
$TargetPath="C:\TEMP\*.txt"; Select-String -Path $TargetPath -Pattern "hoge" -Encoding default | Select-String -Pattern "age"
☝スクリプトの説明
♦1行目:
$TargetPath="C:\TEMP\*.txt";検索対象のファイルパス(C:¥TEMP¥*.txt)を指定。
♦2行目:
Select-String -Path $TargetPath -Pattern "hoge" -Encoding default | Select-String -Pattern "age"パイプラインで結合。
①検索対象のファイル(C:¥TEMP¥*.txt)のうち、文字列 "hoge"を含むファイルを検索。
②①のファイルのうち、文字列 "age"を含むファイルを検索。
検索③:ファイル内の文字列検索(NOT検索)
✏スクリプト
$TargetPath="C:\TEMP\*.txt"; Select-String -Path $TargetPath -NotMatch -Pattern "hoge" -Encoding default
☝スクリプトの説明
♦1行目:
$TargetPath="C:\TEMP\*.txt";検索対象のファイルパス(C:¥TEMP¥*.txt)を指定。
♦2行目:
Select-String -Path $TargetPath -NotMatch -Pattern "hoge" -Encoding default検索対象のファイル(C:¥TEMP¥*.txt)のうち、文字列 "hoge"を含まない行を持つファイルを検索。
コメント
コメントを投稿