![]() |
Показаны 7 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Другие (http://netadmin.ws/forum/forumdisplay.php?forumid=19)
-- Количество массивов в директории (http://netadmin.ws/forum/showthread.php?threadid=137)
Количество массивов в директории
Я в програмировании новичок и поэтому не могу никак сообразить, как посчитать все массивы в файлах с определенным расширением из определенной директории и их общее кол-во передать перменной?
Для одного файла это выглядит так:
open(DATA, "data/data.txt") || die "$!";
@DATA=<DATA>;
close (DATA);
$amount = @DATA;
Помогите плиз очень надо.
P.S. Сам конечно тоже буду думать
.
Re: Количество массивов в директории
quote:
Первоначальное сообщение от Gyrus
Я в програмировании новичок и поэтому не могу никак сообразить, как посчитать все массивы в файлах с определенным расширением из определенной директории и их общее кол-во передать перменной?
Для одного файла это выглядит так:
open(DATA, "data/data.txt") || die "$!";
@DATA=<DATA>;
close (DATA);
$amount = @DATA;
Помогите плиз очень надо.
P.S. Сам конечно тоже буду думать.
#!/usr/bin/perl
$i=0;
print "Content-Type: text/html\n\n";
open(READ, "data/data.txt") || die "File not found";
@text = <READ>;
foreach $line (@text) {
$i++;
}
close(READ);
$result=$i;
print "$result";
Спасибо за ответ, но ты немного не понял меня.
Имелось ввиду, что есть много файлов в определенной директории и мне надо посчитать количество массивов (строк) во всех файлах с расширением txt и это значение передать переменной.
Сам я пока не придумал
quote:
Первоначальное сообщение от Gyrus
Спасибо за ответ, но ты немного не понял меня.
Имелось ввиду, что есть много файлов в определенной директории и мне надо посчитать количество массивов (строк) во всех файлах с расширением txt и это значение передать переменной.
Сам я пока не придумал![]()
quote:
Первоначальное сообщение от Andrei
Ты поясни вот что
Тебе надо передать "это значение" в сумму всех файлов?
то есть так
было просмотрено 2 файла и всего в них в сумме строк 15
или к примеру чтоб скрипт так писал
data.txt - 5 строк
data1.txt - 10 строк
тоесть для каждого файла отдельно
короче ты всё подробно напиши
Вот тебе скрипт
Меняй только
$ext - это расширение файлов которые надо смотреть
$dir - это путь к директории которую надо открывать
#!/usr/bin/perl
$ext = "txt";
$dir = ".";
$i = "0";
$files = "0";
print "Content-Type: text/html\n\n";
opendir(RID,"$dir") || print "cant $!";
@linez = grep(/./,readdir(RID));
flock(8, RID);
close(RID);
foreach $struck (@linez)
{
if (!(-d $struck))
{
if ($struck =~ /\.$ext$/i)
{
open(READ, "$struck") || die "File not found";
@text = <READ>;
foreach $line (@text) {
$i++;
}
close(READ);
$files++;
}
}
}
print "Всего прочитанно <b>$i</b> строк в <b>$files</b> файлах\n";
1;
Андрей, ты сильно меня выручил скрипт работает спасибо. Только, чтобы запускать его из другой директории надо переписать эту строку вот так:
open(READ, "$dir/$struck") || die "File not found $!";
Спасибо!
| Формат времени GMT. Текущее время 07:56. | Показаны 7 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.