このエントリーをはてなブックマークに追加


PowerShellで指定した列のみを表示する・Select-Object

PowerShellで指定した列のみ表示する方法を以下に記します。


Get-ChildItemで指定した列のみ表示する

Get-ChildItemの出力で指定した列のみ表示してみます。

  • 通常の出力
    PS C:\> Get-ChildItem c:\
    
    
        ディレクトリ: C:\
    
    
    Mode                LastWriteTime     Length Name
    ----                -------------     ------ ----
    d----        2015/07/31     18:18            $WINDOWS.~BT
    d----        2014/07/17      0:55            AuthLog
    d----        2014/07/17      1:32            DRIVERS
    d----        2012/11/06      7:56            Intel
    d----        2013/08/23      0:22            PerfLogs
    d-r--        2015/08/15     12:34            Program Files
    d-r--        2015/10/21     19:34            Program Files (x86)
    <省略>
  • Name, Length, LastWriteTimeを表示してみる
    以下のように指定した順序および列が表示されます。
    PS C:\> Get-ChildItem c:\ | Select-Object Name, Length, LastWriteTime
    
    Name                                    Length                                  LastWriteTime
    ----                                    ------                                  -------------
    $WINDOWS.~BT                                                                    2015/07/31 18:18:07
    AuthLog                                                                         2014/07/17 0:55:43
    DRIVERS                                                                         2014/07/17 1:32:41
    Intel                                                                           2012/11/06 7:56:21
    PerfLogs                                                                        2013/08/23 0:22:35
    Program Files                                                                   2015/08/15 12:34:21
    Program Files (x86)                                                             2015/10/21 19:34:33
    <省略>
  • 幅をつめてみる
    上記の出力をみると各列の空白が広いです。
    これをFormat-Tableコマンドレットを使用してつめてみます。
    PS C:\> Get-ChildItem c:\ | Select-Object Name, Length, LastWriteTime | Format-Table -AutoSize
    
    Name                    Length LastWriteTime
    ----                    ------ -------------
    $WINDOWS.~BT                   2015/07/31 18:18:07
    AuthLog                        2014/07/17 0:55:43
    DRIVERS                        2014/07/17 1:32:41
    Intel                          2012/11/06 7:56:21
    PerfLogs                       2013/08/23 0:22:35
    Program Files                  2015/08/15 12:34:21
    Program Files (x86)            2015/10/21 19:34:33
    <省略>

CSVファイルで列を指定してみる

以下のようなcsvファイルを使用して列指定してみます。

PS C:\> Get-Content .\stock.csv
ITEM,PRICE,STOCK
AIUEO,1000000,10
KAKIK,500000,20
SASIS,300000,30
TACHITU,300000,40
NANINU,200000,50
PS C:\> $csv = Import-Csv .\stock.csv
PS C:\> $csv

ITEM                                    PRICE                                   STOCK
----                                    -----                                   -----
AIUEO                                   1000000                                 10
KAKIK                                   500000                                  20
SASIS                                   300000                                  30
TACHITU                                 300000                                  40
NANINU                                  200000                                  50
PS C:\> $csv | Select-Object ITEM, STOCK

ITEM                                                        STOCK
----                                                        -----
AIUEO                                                       10
KAKIK                                                       20
SASIS                                                       30
TACHITU                                                     40
NANINU                                                      50

Import-Csvコマンドレットで読み込んだCSVファイルの指定した列のみ表示させる例となります。

以上、Select-Objectを使用して指定した列のみ表示する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-26 (月) 22:34:51