|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Daniel Elovkoff 2:5030/1085.7 12 Aug 2000 15:31:54 To : Valentin Davydov Subject : Re: Скриптец подскажвте -------------------------------------------------------------------------------- >>>>> "VD" == Valentin Davydov writes: >> Единственное, что я здесь не смог сделать, так это взять >> такую-то стpочку из файла. Интеpесно как бы это на шелле >> учинить? VD> Через read. Поскольку, как ты мог заметить, ls выдаёт файлы ровно в том VD> порядке, в котором расположены соответствующие строчки в дескрипшине. А если такой случай: имеем 0001.xxx и 0099.xxx, и строчек в description.file соотвественно 99, но нам нужно взять 1-ю и 99-ю. VD> Повторяю своё решение: VD> (for i in *; do read d && mv -f $i $d${i##*.}; done) < description.file Hо однострочные решения - это несомненно хорошо. Кстати а почему не просто "mv -f $i $d" ? >> а! нужно задействовать awk ! VD> В авке нет атомарной операции mv и встроенного парсера файловых имён. Hу я имел ввиду только для взятия строки заданного номера. cat description.file | awk "BEGIN { lc=0 } // { if (lc==$num) { echo $1 }}" Возможно это убого, т.к. с awk'ом я практически не знаком. --- Gnus v5.5/XEmacs 20.4 - "Emerald" * Origin: Unofficial Crays support (2:5030/1085.7) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/51830301cf1a8.html, оценка из 5, голосов 10
|