Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список файлов в директории, ......как его получить? 
:(
    Опции темы
y0sh1
Дата 30.8.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 26.8.2004

Репутация: нет
Всего: нет



понял, спасибо... попытаюсь разобраться...
PM MAIL   Вверх
olexdj
Дата 4.6.2013, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 7.3.2011

Репутация: нет
Всего: нет



Подскажите плиз, есть директория с картинками вида:

124134.jpg
123356.jpg
12413545.jpg
15346356.jpg
124123556.jpg

Короче "наборцифр.jpg"

Цифры не попорядку, могут быть дырки.
Мне надо узнать самую большую цифру, чтобы писать в директорию новую картинку с большей цифрой на единицу.
Подскажите плиз, как наиболее эффективно это сделать.

Спасибо заранее!!!!!

Добавлено через 6 минут и 29 секунд
Пока сваял такого монстра:

Код

opendir(DIR, "F:/Internet/foto");
my @files = grep(/\.jpg$/,readdir(DIR));
closedir(DIR);

for ($s=0; $s<@files; $s++) {
    $files[$s] =~ s/.jpg//i;
}

@files = sort {$b <=> $a} @files;

$max_num = $files[0];


Но это ж ужас скоко работы для одной циферки ((((
Да, картинок сейчас около 25000 в директории, будет еще больше...
PM MAIL   Вверх
arto
Дата 4.6.2013, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# for i in {1..25000}; do touch $RANDOM.jpg; done
# time perl -le 'open F,"ls -1v *.jpg|";@a=<F>;chomp@a;print ($a[-1])'
32766.jpg
Real: 0.08s User: 0.00s System: 0.00s Percent: 4%% Cmd: perl -le 'open F,"ls -1v *.jpg|";@a=<F>;chomp@a;print ($a[-1])'
# time perl -le 'opendir D,"."; print ((sort{$b<=>$a}map{(split"\\.",$_)[0]}grep/\.jpg/,readdir D)[0].".jpg")'
32766.jpg
Real: 0.03s User: 0.02s System: 0.01s Percent: 87%% Cmd: perl -le 
#

Добавлено через 5 минут и 49 секунд
ну и самое простое -- записывать имя самого последнего созданного файла.
PM MAIL ICQ   Вверх
ginnie
Дата 4.6.2013, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Цитата(arto @  4.6.2013,  08:03 Найти цитируемый пост)
ну и самое простое -- записывать имя самого последнего созданного файла.

Этот вариант, кроме того, позволит (при использовании блокировки) правильно работать нескольким одновременно запущенным экземплярам программы.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.