Я должен проверить наличие свободного места на томе диска, и я с помощью команды df -h
, которая производит этот выходКак я заменить G с белым пространством
Filesystem Size Used Avail Use% Mounted on
/dev/md0 27G 24G 2.1G 92%/
udev 506M 112K 506M 1% /dev
/dev/sda1 102M 40M 63M 39% /boot
Этот фрагмент сценария
my (@space, @freesp);
@space = grep /\/dev\/md0/,`df -h`;
print "@space\n";
дает мне
/dev/md0 27G 24G 2.1G 92%/
Что я могу разделить на пробельных давая значения в $freesp[0]
, $freesp[1]
и т.д.
Но я хочу, чтобы удалить или заменить эту G
с белым пространством, так что я могу сравнить $freesp[3]
с некоторым значением и могу продолжить мой сценарий.
Итак, какое регулярное выражение я должен использовать для этого, или есть ли другой лучший способ сделать это?
Этот код работает на меня, но я смотрю в направлении, о котором я упомянул.
#!/usr/bin/perl
use strict;
use warnings;
my (@space, @freesp);
@space = grep /\/dev\/md0/, `df`;
print "@space\n";
for (@space) {
chomp;
@freesp = split /\s+/, $_;
}
if ($freesp[3]/1024/1024 < 2.0) {
print "Space is less\n";
}
else {
print "Space is OK\n";
}
#print ($freesp[3]/1024/1024);
[Не разбирайте вывод 'df'. Это не очень хорошая идея.] (Http://stackoverflow.com/a/6351257) – daxim