リファレンス系は逆引きリファレンスは充実してますが、記号は検索にかかりにくいのかあまりないので、メモしておきます。
「|」(バーチカルバー、縦棒、パイプ記号)はパイプライン
パイプラインといわれてもピンと来ないかもしれませんので、説明していきます。
私も最初はピンときませんでした。
簡単に言うとパイプラインと、左から右にパイプしてあげるようなイメージです。「|」右側のコマンドの結果を左のコマンドに渡してあげるものです。
例を交えて説明をしていきます。
よく使われるのがこれ
Get-Process |Out-Null
これは何をやっているかというと、「Get-Processでいろんな情報を取ったけど、取った情報をOut-Nullで出力しませんよ」ということです。
よくわからない方はまずは「Get-Process」だけで実行してみてください。すると以下のように出力されるはずです。
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
7 1.04 1.52 0.05 1812 0 armsvc
21 49.75 74.49 15.75 1516 2 chrome
16 18.29 27.98 0.88 2144 2 chrome
8 1.37 1.96 0.33 3732 2 chrome
16 18.38 32.25 0.89 3992 2 chrome
24 57.83 98.76 8.28 4052 2 chrome
次に「Get-Process |Out-Null」を実行してみてください。
すると何も出力されないと思います。
つまり、Getしたものを「|」(パイプライン)を通して、Outに渡してあげたけどNullで削除されちゃった感じです。
もひとつくらい例を使って説明します。
Dir | Sort-Object Length -descending
こちらのコードです。
「Dir」こちらは現在のディレクトリを取得するコマンドになります。
それに対して「Sort」を実施するという意味です。Lengthはファイルサイズなので、ファイルサイズで降順(descending)に並べて出力するコマンドです。
つまり、「Dirで現在のディレクトリのファイル一覧を取得した、パイプラインでSortに渡して取得した情報をLengthでdescendingしました」ということです。
すみません。
べたなのをやっていなかったので、もう一つ
Get-Service | Where-Object Name -eq AdobeARMservice
こちらはもうわかると思いますが、「Service」を取得して、「Name」が「AdobeARMservice」のものでフィルターしています。
まとめ
結構適当に書いてますが、大体あってると思います。
あとはコーディングして、動きを見てるとだんだんわかってくると思います。
コメント