非常に秀逸で尊敬の念を覚えた記事があります。
パイプ Oriented 環境、PowerShell
KARINO2さんが、AWK と PowerShell を対比することで、
- PowerShellでのパイプがAWKとはどう違うのか
- PowerShellにおけるパイプが齎す最大のメリットとは何なのか
を、具体的な例で示されています。
『使う気が無い人向けのPowerShell入門』 というタグではありますが、是非 Windows, Unix, Linuxの各ユーザー様がPowerShellに興味を少しでも覚えたなら読んでいただけると、Powershellのイメージが朧げにでも湧いてくるのではと思います。
PowerShellのパイプ
細かい内容は、前述のサイトが詳しいので割愛します。
ここでは、私自身が感じるPowerShellにおけるパイプの活用です。
これまで、私もシェル芸でUSPさんで示されているAWKやBashを使った回答に刺激を受けてPoweShellで解いてきました。
その時のシェル構築方法もまさに、
PowerShellのパイプを少しずつ足したり引いたりと、組み合わせ検証しつつです。
第2回チキチキ!シェル芸人養成勉強会をPowerShellでやってみた
Hbstudy#38シェルスクリプトでいろいろやってみよう!をPowerShellでやってみた
「シェルスクリプト大喜利 第八回 ~”for,while禁止”に喜びを感じる人の何と多い事か!」をPowerShellでやってみた
PowerShellは、パイプを付け加える、外す(コメントアウトも可)によって、ほかのコマンドレットをどんどん活用できます。
パイプラインの組み合わせで、対話的に結果も出力できるので、結果を受けての修正、反映も容易です。
そのため、シェル芸などのように「ワンライナーで」と言われても何ら臆することなく、むしろ楽しんで取り組めるのです。
私も長年cmdを使ってきましたが、結果を受けてパイプで足して……というスタイルはトテモではありませんができませんでした。
PowerShellにとって、最も重要な機能の1つ。
それは、パイプラインに他ならないと思います。
今後の期待
最近は、某こわい方々がPowerShellへの侵攻を始められたので、LINQのやり方がどのようにPowerShellで活かされるのかとても興味あります。
おそらくはパイプを基盤に操作をされていくと予想していますが、きっと素敵なシェル芸を見せてくれるでしょう!(謎
私個人は、シェル芸で基本能力を高めつつ、RemoteSessionやJon、Workflowに対してもアクションを取っていきたいなぁと。経験上、サーバー管理におけるPowerShellの活用を心がけたいのです。
となると、PowerShellの動作の速度が向上することを心から期待するわけですが……!!
ようは何
パイプラインいいよパイプライン!!