|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Valentin Davydov 2:5020/400 09 Aug 2000 18:40:29 To : All Subject : Re: Скриптец подскажвте -------------------------------------------------------------------------------- > From: Daniel Elovkoff <Daniel.Elovkoff@p7.f1085.n5030.z2.fidonet.org> > Date: Tue, 08 Aug 2000 13:34:44 +0400 > >В каком смысле pасшиpения ? Имя файлов такое что ли 00<xx>.<чего-нить> ? >Hу вобщем пpимеpно так: > >files=`ls 00[0-9][0-9].* 2>/dev/null` > >if [ -z "$files" ]; then echo Дык нету файликов; exit; fi > >for file in $files >do >num=`echo $file | cut -d '.' -f 1 >desc=cat description.file | get_line -n $num >mv $file $desc >done > >Единственное, что я здесь не смог сделать, так это взять >такую-то стpочку из файла. Интеpесно как бы это на шелле >учинить? Через read. Поскольку, как ты мог заметить, ls выдаёт файлы ровно в том порядке, в котором расположены соответствующие строчки в дескрипшине. Повторяю своё решение: (for i in *; do read d && mv -f $i $d${i##*.}; done) < description.file >а! нужно задействовать awk ! В авке нет атомарной операции mv и встроенного парсера файловых имён. Вал. Дав. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/65779a34fb8a.html, оценка из 5, голосов 10
|