2020.01.06
Select-Objectで読みやすい算出属性を作る方法
概要
オブジェクトの算出属性をSelect-Object
で作る際に、
属性名が式そのままになってしまうことがよくあります。 (例えば$_ * $_
など。)
(筆者の備忘録を兼ねます。)
読みにくい例
# 読みにくい算出属性の名前ができるアンチパターン
1..10|Select-Object {$_ * $_};
読みやすくする例
# 読みやすい算出属性の名前を作る正式な方法
1..10|Select-Object -Property @{
Name = "SquaredValue";
Expression = {$_ * $_};
};
自作関数で連想配列を入力する手間を省く方法
# 連想配列を書きたくない場合の代替関数の定義例
function Select-CalculatedProperty{
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline)]
[ValidateNotNullOrEmpty()]
[Object[]] $Item,
[String] $Name = "Value",
[ScriptBlock] $Expression = {$_}
)
process{
$Item|Select-Object -Property @{Name = $Name; Expression = $Expression}
}
}
まとめ
Select-Object
で、算出属性の名前を読みやすくする方法を紹介しました。
初級インフラエンジニアにオススメ連載リンク
ネットワーク学習の登竜門・・
ゼロからのCCNA独学講座
Linuxの取り扱いを基礎から学ぶ
Linux資格 「LPIC-Lv1」徹底解説