Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Свободное пространство?

373
06 февраля 2006 года
unmoved
216 / / 28.11.2004
Как узнать свободное пространство на носителе в perl, причем конкретные цифры с которыми в дальнейшем можно работать?

$bufer = `df |grep /dev/cciss/c0d0p8`;
($a, $b, $c, $d, $f, $g)=split(/ /, $bufer, 6);
#print STDERR "$a\n";
#print STDERR "$b\n";
#print STDERR "$c\n";
#print STDERR "$d\n";
#print STDERR "$f\n";
print STDERR "$g\n";
exit;

Не работает???
15K
06 февраля 2006 года
borodatyi
16 / / 06.02.2006
Цитата:
Originally posted by unmoved
Как узнать свободное пространство на носителе в perl, причем конкретные цифры с которыми в дальнейшем можно работать?



например так:

 
Код:
$free_root=`df -h|grep  -w /|awk '{print $4}'`;
$size_root=`df -h|grep  -w /|awk '{print $2}'`;
print "Free space on / = $free_root\n";
print "Size  / = $size_root\n";


точно так же можно и для любого другого раздела, устройства, тампример для floppy disk :

 
Код:
$free_floppy=`df -h|grep  -w /dev/fd0|awk '{print $4}'`;
$size_floppy=`df -h|grep  -w /dev/fd0|awk '{print $2}'`;
print "Free space on disk A = $free_floppy\n";
print "Size  A  = $size_floppy\n";
15K
06 февраля 2006 года
borodatyi
16 / / 06.02.2006
Цитата:
Originally posted by unmoved
Как узнать свободное пространство на носителе в perl, причем конкретные цифры с которыми в дальнейшем можно работать?

$bufer = `df |grep /dev/cciss/c0d0p8`;
($a, $b, $c, $d, $f, $g)=split(/ /, $bufer, 6);
#print STDERR "$a\n";
#print STDERR "$b\n";
#print STDERR "$c\n";
#print STDERR "$d\n";
#print STDERR "$f\n";
print STDERR "$g\n";
exit;

Не работает???



а почему этот код собс-но должен работать ? :))
Ты вобще проверяешь, что у тебя лежит в $bufer ?
Там лежит строка вида :

 
Код:
"/dev/hda10            9,1G  8,0G  1,1G  88% /"

а ты ее режешь одиночными пробелами!
сначала убери все лишние пробелы так :

$bufer=~s/\s+/ /g;

а потом уж и режь .

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог