我已经设法使用反引号将我的df -lh
命令存储为变量,$var
但我想将其拆分,以便可以将变量的每个部分分配给另一个变量。
这是我打印时的输出$var
:
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 931Gi 82Gi 849Gi 9% 21503280 222477462 9% /
/dev/disk1s2 19Gi 5.0Gi 14Gi 27% 1303373 3579438 27% /Volumes/Install OS X Yosemite
/dev/disk1s3 1.8Ti 174Gi 1.6Ti 10% 45714072 437656799 9% /Volumes/store
我想要的是删除第一行标题,然后将其拆分为以下类别:
$filesystem
, $size
, $used
, $avail
, $cap
, $mounted
.
我尝试使用 shift 来摆脱第一行,但我现在知道这仅适用于数组。对于我拥有的不同数组,我使用 chomp,即
foreach my $line (@output) {
chomp $line;
my( $filesystem, $size, $used, $avail, $cap, $mounted ) = split (/\s+/, $line);
}
但由于这不是一个数组,我不知道该怎么做,除非有办法将我的系统输出存储为数组?
非常感谢。