IoT
Новичок
|
Подскажите пожалуйста. Необходимо составить программу без использования find. Попытка сдать с ним была не успешной (преподаватель отказался принимать т.к. задача решается в одну строку((() вот текст задачи: Shell-программа выводит имена тех каталогов в каталоге, которые в себе содержат каталоги. Имя каталога задано параметром Shell-программы. (Сообщение отредактировал IoT 16 дек. 2009 20:46)
|
Всего сообщений: 3 | Присоединился: декабрь 2009 | Отправлено: 16 дек. 2009 17:45 | IP
|
|
KMA
Долгожитель
|
Ваш препод больной человек, если не понимает, что вся прелесть -- получить решение в 1 строку. Вот решение:
Code Sample:
#!/bin/sh lsdir() { ls -F1 $1 | grep '/$' } if [ ! -d "$1" ]; then echo "`basename $0`: Invalid argument (not set or dirname)" echo "Use: `basename $0` /path/to/dir" exit 0 fi mdir="$1" lsdir $mdir | while read ndir; do if [ "`lsdir ${mdir}/$ndir | wc -l`" != 0 ]; then echo $ndir fi done exit 0
(Сообщение отредактировал KMA 17 дек. 2009 16:22)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 дек. 2009 16:21 | IP
|
|
IoT
Новичок
|
спасибо вам огромнейшее!!! Попытаюсь сдать это решение))
|
Всего сообщений: 3 | Присоединился: декабрь 2009 | Отправлено: 19 дек. 2009 16:26 | IP
|
|