Unix系で使われるgrep
に近いコマンドはないかと探したところSelect-String
というコマンドがありました。
凝った使い方だと違いますが、概ねgrep
の様にしていいようです。
CSVファイルに「D00」を含む行だけを表示させてみました。
PS > $A = b:\C1-001.csv
PS > echo $A | Select-String "D00"
これで「D00」を含む行だけが表示されます。
正規表現を使用する場合には-Pattern
オプションを付けて
PS > echo $A | Select-String -Pattern "^D"
とかすればいいようです。
ちなみにCompare-Objectなど結果が配列で出力されるデータは
@{InputObject=D00,261,1,110,; SideIndicator=<=}
@{InputObject=D00,256,1,111,; SideIndicator=<=}
@{InputObject=D00,260,1,112,; SideIndicator=<=}
こんな感じで表示されました。
できれば整形したいですね…。
Windows PowerShell プロファイルにエイリアスとして登録しておいても良いかもしれません
Set-Alias grep Select-String
でも細部の振る舞いが違いそうなので注意が必要です。
##2014年4月10日追記
書き出しにある
PS > $A = b:\C1-001.csv
PS > echo $A | Select-String "D00"
という書き方ですが、変数に入れなくてもgrep同様コマンドがテキストファイルを開いて表示させることができます。
PS > Select-String "D00" b:\C1-001.csv
のような書き方をしても同じ表示になりました。