【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"を含まない行を持つファイルを検索。

コメント

このブログの人気の投稿

【論文メモ】A systematic literature review on source code similarity measurement and clone detection: techniques, applications, and challenges

【論文メモ】<2022>コードクローン検索手法の調査

【論文】A Survey on Causal Inference<2021>