Re[3]: [Comm] Переконвертация имён файлов на ext3
Alexandr A. Alexandrov
=?iso-8859-1?q?aaa_=CE=C1_inrecolan=2Ecom?=
Сб Фев 25 17:15:58 MSK 2006
Доброго времени суток!
Saturday, February 25, 2006, 1:10:50 AM, вы писали:
>>> Что-то не очень понятно, что сделать нужно, но, по-видимому, что-то вроде
>>>
>>> for f in * ; do mv $f `echo $f | iconv -f KOI-8 -t UTF-8` ; done
>>>
AF>> Только все имена лучше брать в кавычки ("$f").
AAA> Пытался сделать всё вообще одной командой - чтобы и рекурсивно по всем
AAA> каталогам пройтись. Но почему-то не удалось победить вариант, когда в
AAA> именах каталогов пробелы. Делал так:
AAA> for f in `find * -print0 | xargs -0` ; do install -D "$f"
AAA> ~/tmp/"`echo "$f" | iconv -f CP1251 -t UTF8`" ; done
Видимо, не хватает знаний по шеллу.. :-( Вот что делаю, создав
тестовый каталог и тестовый файл:
[aaa на aaa test]$ find * -print | sed -e 's/.*/"&"/g'
"каталог с пробелами"
"каталог с пробелами/файл с пробелами.ф"
[aaa на aaa test]$ for f in `find * -print | sed -e 's/.*/"&"/g'`; do echo "$f" ; done
"каталог
с
пробелами"
"каталог
с
пробелами/файл
с
пробелами.ф"
То есть в шелле пробелы получаются неэкранированными. Пробовал с
помощью сед-а заменить пробелы на "\ " - но не помогло... Как
правильно?
--
С уважением,
Александр
Девиз дня: Не так страшен Карлсон, как его пропеллер...
Подробная информация о списке рассылки community