Windowsでgrep
研究などのログから、必要なデータを抜き出してくる際に、grepをよく使う。今まではcygwinをインストールしgrepを用いていたが、Windowsでほかの方法がないのか簡単に調べてみた。
以上のような3つが考えられるようだ.今回は,Windows7からOSに標準で含まれているWindowsPowerShellを使ってやってみる
grepに相当するコマンドを探したところSelect-Stringというコマンドがあった
Select-String "Example" example.txt
のように使用するとファイル名:行番号が頭について出力されてしまった
調べてみたところGet-Contentというコマンドと組み合わせて使用するとgrepと同じ動作になるようだ
Get-Content Example.txt | Select-String "example"
のようにする
Get-Contentコマンドでファイルを取得しそれをSelect-Stringに渡して処理をしているということだ。大文字小文字を区別する場合はSelect-StringにCaseSensitiveオプションをつける
以下のサイトを参考にした
Script Center Select-String コマンドレットの使用