![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Зюзе |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
Здравствуйте. Есть кусман кода который должен находить файлы во вложенных каталогах где запущен скрипт:
но скрипт находит только каталоги, а файлы которые находятся внутри каталога не выводит, не подскажете что поправить в коде чтобы он выводил имена файлов ? |
|||
|
||||
kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: 1 Всего: 2 |
пишешь функцию, в качестве аргумента она принимает имя директории,
– проходишь по списку имен в директории, – если это папка, то печатаешь что это папка и вызываешь снова свою функцию, указывая уже аргументом Эту папку – если файл - печатаешь имя файла Это сообщение отредактировал(а) kavkaz - 30.6.2009, 13:50 |
|||
|
||||
Зюзе |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
А есть смысл городить рекурсию если мне надо найти файлы в каталогах на один уровень вниз от текущего ?
Это сообщение отредактировал(а) Зюзе - 30.6.2009, 14:07 |
|||
|
||||
kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: 1 Всего: 2 |
если один уровень вложенности, то в принципе нет, вопрос, как говорится эстетики По вашему коду: – нашли все элементы исходной директории – организовали цикл – если папка то снова ищете элементы и печатаете – если файл то надо печатать – этого пункта у вас нет Это сообщение отредактировал(а) kavkaz - 30.6.2009, 14:15 |
|||
|
||||
Зюзе |
|
||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
если один уровень вложенности, то в принципе нет, вопрос, как говорится эстетики Пардон, первом посте не уточнил что просмотреть нужно на один уровень вниз. По вашему коду: – нашли все элементы исходной директории – организовали цикл – если папка то снова ищете элементы и печатаете – если файл то надо печатать – этого пункта у вас нет как нет ![]()
|
||||
|
|||||
shamber |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
у меня ваш скрипт выводит файлы, но только по одному на каталог
![]() Добавлено через 6 минут и 4 секунды Ошибка у вас в том, что вы пытаетесь проверить файл не указывая путь к нему.... замените
на
|
||||
|
|||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
perl -le 'print join "\n",grep { -f $_ } map { glob ("${_}*") } grep { -d $_ } @ARGV' ../*
|
|||
|
||||
Зюзе |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 27.2.2009 Репутация: нет Всего: нет |
shamber, огромное спасибо
![]() Ставлю тему решенной ![]() Это сообщение отредактировал(а) Зюзе - 30.6.2009, 15:13 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |