[Powershell]フォルダ内から、特定の文字列が含まれているテキストファイルを探す

超まとめ

こちらのワンライナーで。

ls * | ?{Test-Path $_.fullname -PathType leaf} | ?{Select-String -Pattern "<検索したい文字列>" -Path $_.fullname} | %{$_}

解説

パイプのそれぞれの部分について、説明します。

  • ls *
    フォルダ内のファイルリストを取得
  • ?{Test-Path $_.fullname -PathType leaf}
    取得したファイルリストを、-PatyType leafでフィルタ
  • ?{Select-String -Pattern “<検索したい文字列>” -Path $_.fullname}
    ファイルリストから、<検索したい文字列>が含まれているものだけをフィルタ
  • %{$_}
    フィルタの結果残ったファイルを表示

コメントを残す