Re[4]: [Comm] Переконвертация имён файлов на ext3
Alexandr A. Alexandrov
=?iso-8859-1?q?aaa_=CE=C1_inrecolan=2Ecom?=
Вс Фев 26 22:11:55 MSK 2006
Доброго времени суток!
Sunday, February 26, 2006, 3:39:24 PM, вы писали:
>> Пытался сделать всё вообще одной командой - чтобы и рекурсивно по всем
>> каталогам пройтись. Но почему-то не удалось победить вариант, когда в
>> именах каталогов пробелы. Делал так:
>>
>> for f in `find * -print0 | xargs -0` ; do install -D "$f" ~/tmp/"`echo "$f"
>> | iconv -f CP1251 -t UTF8`" ; done
A> Тезка, не нужно делать ТАК!
Об этом я догадываюсь. :-) Но меня интересует - КАК надо! :-)
Пока я пришёл к варианту
find dir/* -exec ./proc {} \;
А в proc -
#!/bin/sh
A=`echo $1 | sed -e 's/\ /\\\ /g'`
echo $A | xargs -i% mv % `echo % | iconv -f CP1251 -t UTF8`
Но в этом варианте почему-то подстановка не работает. Причём не
понимаю, почему. Я пробовал `echo % | sed -e 's/x/X/g'` на тестовых
файлах - чтобы не грешить на перекодировки всякие - типа, заменить в
именах файлов маленькие х на большие просто. Так mv сообщает, что
файлы идентичны и он ничего делать не будет. :-(
--
С уважением,
Александр mailto:aaa на inrecolan.com
Девиз дня: Не надо путать причину и следствие. Особенно не надо путать следствие.
Подробная информация о списке рассылки community