Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Dmitry Nedbaylo                      2:466/7.104    18 Jul 2003  16:20:20
 To : Slava Astashonok
 Subject : Re: Рекурсия
 -------------------------------------------------------------------------------- 
 
 18 июл 03 09:24, you wrote to me:
 
  >> Вот такая вот задачка. Hужно в шеловском скрипте рекурсивные
  >> функции, например если какой то файл, то все ОК, а если каталог, то
  >> данную функию запустить еще раз. Вообще рекурсия то работает, но как
  >> вывалится из нее? Break не помогает.
 
  SA> Для рекурсии необходимо конечное условие и стек параметров. Вы об этом
  SA>  позаботились? И не пробовали ли вы решить свою задачу при помощи
  SA> find?
 
 А задача например такая : Есть каталог /Music с еще субдиректориями с файлами
 mp3. Hадо создать симв. ссылку на каждый файл mp3 в каталоге /music. С find я не
 мог получить basename файла. Что то вот такое : find /Music -name "*mp3" -exec
 ln -s {} /music/"$(basename {})" \; не катит.
 Создаю скрипт (кстати c return'ом я погарячился, здесь он и не надо):
 ======script begin====================
 #!/bin/bash -x
 function LinkMP3 {
         _PWD=$1
         for i in "$_PWD"/*; do
                 if [ -f "$i" ]; then
                         ln -s "$i" "/music/$(basename "$i")"
                 elif [ -d "$i" ]; then
                         LinkMP3 "$i"
                 fi
         done
 }
 
 LinkMP3 /Music
 =======script end===========
 Вот и все. Задача решена.
 Только вопросик: как это можно сделать с find?
 
 Dmitry
 
 --- GoldED+/LNX 1.1.5-30221
  * Origin:  ----> <none> <----  (2:466/7.104)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Рекурсия   Dmitry Nedbaylo   18 Jul 2003 00:01:52 
 Re: Рекурсия   Andy Shevchenko   18 Jul 2003 08:01:52 
 Re: Рекурсия   Slava Astashonok   18 Jul 2003 09:24:00 
 Re: Рекурсия   Dmitry Nedbaylo   18 Jul 2003 16:20:20 
 Re: Рекурсия   Andy Shevchenko   18 Jul 2003 20:28:02 
 Re^2: Рекурсия   Alexander Gurov   20 Jul 2003 23:04:31 
 Re: Рекурсия   Kirill Frolov   21 Jul 2003 04:57:50 
 Re: Re^2: Рекурсия   Ruslan Kosolapov   21 Jul 2003 07:33:36 
 Re: Рекурсия   Andy Shevchenko   21 Jul 2003 08:01:16 
 Re: Рекурсия   Vladimir Bormotov   19 Jul 2003 01:39:05 
Архивное /ru.linux/27713f17f4ed.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional