Windowsのコマンドラインでテキストの加工を行うとき、クリップボードと連携できると便利である。
コマンドの結果をクリップボードにコピーするには、clip.exeコマンドにパイプで渡せばよい。
dir /b | clip
逆に、クリップボードのテキストを加工したい場合もある。
今までclip.exeでは入力側のパイプにはできないので、ファイルに保存してから加工していたが、PowerShellならできることがわかった。
普段コマンドプロンプトを使っていて、PowerShellはほとんど使っていなかったけど、sortやuniqもPowerShellならできることがわかった。
MINGWを使っているのでunixコマンド相当がなくて困ることはなかったけど、クリップボード連携を考えるとPowerShellで作業するのもよさそうだ。
PowerShellでクリップボードをsortしてuniqする
Get-Clipboard | Sort-Object | Get-Unique | Set-Clipboard
これでクリップボード内のテキストに対して、sortとuniqが行える。
コマンドが長くて覚えづらいが、Tab補完が効く場合がある。sortは、sortと入力してTabを押すと「Sort-Object」に変換される。
uniqは、Tabを押すと、MINGWの「uniq.exe」に補完されてしまった。
help uniq
とすると、部分一致でコマンドを探してくれる。
忘れたときは、helpコマンドで探すとよい。
helpを使えるようにするには、管理者としてPowerShellを起動して、「Update-Help」を実行しておく必要がある。