Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Идентификация каталога c помощью shell (http://forum.oszone.net/showthread.php?t=74397)

programmist72 11-11-2006 08:47 510004

[решено] Идентификация каталога c помощью shell
 
Люди, стопорнулся по чёрному... понимаю что вопрос чисто ламерский, но всё же...

Есть некий каталог, скажем /A. В нём куча других каталогов. Мне нужно зайти в каждый из них и проверить, есть ли там каталог "readme". Если есть, то пропустить этот шаге. Если нет - то сделать некоторые действия. Иначе говоря, если есть вот такая иерархия: "/A/каталог/readme" - тогда пропустить. Если есть просто "/A/каталог" - тогда выполнить действие.

Как енто реализовать? У меня, в принципе, 50% кода написано (на Shell!!). я не могу только определить каталог readme в подкаталоге.

mar 11-11-2006 09:14 510009

например:
file -d readme
выдаст readme: directory если найдет и если это каталог
или readme: cannot open (readme), если нет

programmist72 11-11-2006 16:12 510162

Ага, выдаёт. А можно превратить имя каталога в строку (хотя оно по идее строкой и является ))) и сравнить его со строкой readme? Как это сделать? Если кто знает ткните меня носом в ссылку где всё доступно описано. Читал Advanced Bash Scripting guide. Но там во-первых на английском, во вторых не очень понятно.

programmist72 11-11-2006 20:16 510241

Всё, проблема решена. :))

ruslandh 11-11-2006 21:24 510281

programmist72
пожалуйста, коротко о том. как вы её решили :)
PS Я - бы вывод вывод заслал в переменную (не успел ответить :) )
assa=`file -d readme`
или
assa=$ile -d readme)

programmist72 12-11-2006 20:04 510569

ruslandh
У меня была задача автоматизации. Правда для себя. Я скачиваю с ФТП сайта архив CPAN (ну скрипты перловые, все знают, наверное). Так вот там файлы с расширением .tar.gz и .readme. Внутри папки CPAN множество подпапок. Мне нужно было зайти (скриптом) в каждую из этих подпапок, проверить есть ли там папка readme. Если есть, то пропустить обработку этой папки. Если нет, то создать папку readme и перенести в неё все файлы с расширением .readme. Если интересно, могу кинуть пример такого скрипта. А задачу я решил сравнив имя каталога со строчкой readme. Так на словах немножко непонятно, в скрипте лучше видно.

ruslandh 12-11-2006 21:39 510622

programmist72
Если есть время как ты всё это сделал, то хорошо-бы на wiki.oszone.net забросить - и тебе полезно и другим польза
PS Правда я пока не понял - как там с регистрацией - только для модеров или для всех :)

Igor_I 12-11-2006 22:10 510636

programmist72
Цитата:

Если интересно, могу кинуть пример такого скрипта.
Да конечно, начинает немного интересовать программирование на шелл.

programmist72 12-11-2006 22:14 510640

Люди, а что конкретно вы хотите на wiki.oszone.net увидеть? Описание скрипта или сам файлик? Имейте в виду, что скрипт не универсальный, а адаптирован именно под мои нужды. Хотя... ладно, о том что "хотя" напишу на сайте. :)

mar 12-11-2006 22:25 510651

Цитата:

PS Правда я пока не понял - как там с регистрацией - только для модеров или для всех
для всех

programmist72
ну сам скрипт, конечно интересен, но можно дать описание и скрипт, как пример (с разбором). Впрочем, главное начать, а дальше можно править, как угодно :)

Igor_I 12-11-2006 22:53 510668

Я вообще-то (привет yurfed- у) хотел увидеть его здесь, потому как до wiki ждать наверно долго.

mar 13-11-2006 01:34 510748

Igor_I
ну, я, вообще-то присоединяюсь :) По мне так тоже логичней по-быстрому выложить скрипт и спокойно писать статью в wiki, заодно используя те вопросы, которые могут возникнуть тут

programmist72 13-11-2006 04:53 510764

Я выложил "статью" на wiki и к ней приложил файл скрипта. Статью ищем в секции "Новые статьи" по названию "Автоматизация в Linux с помощью шелл" :) Автор Programmist72, то бишь ЯЯЯЯЯ :)))))))

ruslandh 13-11-2006 07:43 510797

http://wiki.oszone.net/index.php/Авт...с_помощью_шелл

PS Чуть-чуть подправил.


Цитата:

Цитата wiki
В этом скрипте есть только один недостаток: если файлов с расширением *.readme нет и папки тоже нет, он создаст папку и выдаст сообщение о том, что нет файлов с расширением *.readme. Работа скрипта продолжится, но этот небольшой баг я пока не сумел поправить.

Не понял я - "если файлов с расширением *.readme нет и папки тоже нет" - значит есть файл ? Иначе как он маг попасть в проверяемые (из ls).

mar 13-11-2006 10:06 510842

добавила еще категорию: Категория:Общие проблемы и настройки
(кстати, искать можно по меню: Unix-->Linux и Unix-->Общие проблемы и настройки

programmist72
во-первых, спасибо, пиши еще :)
во-вторых,
Цитата:

Автор Programmist72, то бишь ЯЯЯЯЯ
так подпишитесь :) (в окне редактирования - вторая справа их кнопок наверху, например)


Время: 00:22.

Время: 00:22.
© OSzone.net 2001-