#navi(../)
* PowerShellで指定した列のみを表示する・Select-Object [#b8bd8850]
PowerShellで指定した列のみ表示する方法を以下に記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* Get-ChildItemで指定した列のみ表示する [#ze5a2aec]
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ファイルで列を指定してみる [#qbcd664f]
以下のような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を使用して指定した列のみ表示する方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)