% perl -lane '/^sdk/ and push(@tmp,[@F]);END{map{print join(qq/ /,@{$_})}sort{$a->[11]<=>$b->[11]}@tmp}' iostat.log
この例では、デバイスを sdk だけに絞って、%util(11列目) でソートしています。
動的に二次元配列を作る方法は以下を参考にしました。
- 作者: ラリーウォール,ジョンオーワント,トムクリスチャンセン,Larry Wall,Jon Orwant,Tom Christiansen,近藤嘉雪
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/09/01
- メディア: 単行本
- 購入: 8人 クリック: 245回
- この商品を含むブログ (125件) を見る
9.1.2 自分自身で作ってみる
while (<>) { @tmp = split; push @AoA, [ @tmp ]; }
素直に grep と sort 使ったほうが楽ですねw
% grep sdk iostat.log|sort -k 12