SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows PowerShell 入門

Windows PowerShell 入門(2)-基本操作編 2

パイプの使用方法を中心としたコマンドレット操作方法

データの並べ替え

 PowerShellでは、パイプを通して受け取ったオブジェクトを並べ替えるためSort-Objectコマンドレットがあります。ここでは最新のシステムイベント10件を取得し、EventIDで並べ替えを行ってみましょう。

 まずイベントの取得ですが、Get-EventLogコマンドレットを使用します。Get-EventLogコマンドレットには-logNameというパラメータがあります。このパラメータのあとにsystemと記述するとシステムイベントを取得できます。また、applicationと記述するとアプリケーションイベントを取得することができます。

 「最新の10件」は-newestパラメータを使用します。-newestのあとに10と書くことで最新の10件のデータを取得することができます。

 まずはここまでのコマンドレット(並べ替えの操作なしの)を実行してみましょう。

Get-EventLog -logName system -newest 10

 と入力しEnterキーを押してください。

 システムログの最新の10件は取得できましたか?

 では、この取得結果をeventID順に並べ替えてみましょう。先ほど説明したように並べ替えにはSort-Objectコマンドレットを使用するのですが、このコマンドレットへはパイプを流れてきたオブジェクトを並べ替えるので、次のような記述をするのが一般的です。

Get-EventLog -logName system -newest 10 | Sort-Object eventID

 と入力しEnterキーを押してください。

 実行結果を見るとわかるとおり昇順での並べ替えです。降順で並べ替えを行うには-descendingパラメータを付加します。

(実際には1行)
Get-EventLog -logName system -newest 10 | Sort-Object eventID
 -descending

特定のプロパティを抜き出す

 Select-Objectコマンドレットを使用すると、特定のプロパティのみを抜き出すことができます。

 Get-ChildItemコマンドレットを実行するとModeLastWriteTimeLengthNameプロパティが表示されるのですが、Select-Objectコマンドレットを使用してNameプロパティとLengthプロパティのみを取得してみましょう。

Get-ChildItem *.* | Select-Object Name, Length

 と入力しEnterキーを押してください。

 NameプロパティとLengthプロパティだけを表示することができたと思います。

 今度は、Select-Objectコマンドレットと、先ほど使用したSort-Objectをあわせて使用してみましょう。NameプロパティとLengthプロパティを取得し、Lengthプロパティで並べ替えを行ってみたいと思います。

Get-ChildItem *.* | Select-Object Name, Length | Sort-Object Length

 と入力してEnterキーを押してください。

 パイプの数が2つになりましたが、1つずつ区切って考えると簡単です。

 *.*のファイル情報取得 | ファイル情報の中のNameとLengthを取得 | Lengthで並べ替え

 このようにパイプごとに処理を区切って考えることがポイントです。

次のページ
特定条件のデータを取得する

この記事は参考になりましたか?

Windows PowerShell 入門連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2201 2008/03/12 16:41

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー