【发布时间】:2012-10-30 16:38:24
【问题描述】:
如何修改以下脚本,使其在相应列中显示每个值: 脚本的主体如下所示:
( $vmdisk, $totalio, $readpercentage, $cachehitpercentage, $currentkbpersecond,
$maximumkbpersecond, $currentiopersecond, $maximumiopersecond
) = split (",", $line);
$totalio =~ s/\"//g;
$readpercentage =~ s/\"//g;
$cachehitpercentage =~ s/\"//g;
$currentkbpersecond =~ s/\"//g;
$maximumkbpersecond =~ s/\"//g;
$currentiopersecond =~ s/\"//g;
$maximumiopersecond =~ s/\"//g;
print "totalio:$totalio readpercentage:$readpercentage cachehitpercentage:$cachehitpercentage currentkbpersecond:$currentkbpersecond maximumkbpersecond:$maximumkbpersecond currentiopersecond:$currentiopersecond maximumiopersecond:$maximumiopersecond";
这将显示这种类型的格式化输出:
totalio:75.0 readpercentage:20.0 cachehitpercentage:93.3 currentkbpersecond:33.8 maximumkbpersecond:33.8 currentiopersecond:15.0 maximumiopersecond:15.0
一切都在一条线上。我的目标是将输出放入列中并使其更具可读性。比如这样:
totalio readpercentage cachehitpercentage
75.00 20.0 93.0
我该怎么做?
【问题讨论】:
-
我会去的,至少如果你定期做这个报告的话,用 Template::Toolkit 或 HTML::Template 并将报告输出为 HTML 表格。
-
糟糕!使用 Text::CSV_XS 解析您的输入!
-
您的拆分方法似乎有点沉重...您能否给我们您的输入?也许像
y|"||d;@array=split(" ")...
标签: linux perl scripting output