[Comm] конвертировать из cp1251 в koi8-r

Nick S. Grechukh =?iso-8859-1?q?ngrechukh_=CE=C1_ua=2Efm?=
Вт Мар 29 17:01:11 MSD 2005


On Tue, Mar 29, 2005 at 04:41:41PM +0400, Grigory Fateyev wrote:
> Надо конвертировать группу файлов из cp1251 в koi8-r, вот нашкрябал но
> не работает.
> find -type f -name "*.txt" -exec bash -c 'old="{}"; iconv -c -f
> cp1251 -t koi8-r | new=`cat /dev/null > $old`; mv "$old" "$new"' \;
> Где ошибка?
везде ;-)

ставим команды по порядку и смотрим

old="{}"; 
iconv -c -f cp1251 -t koi8-r | new=`cat /dev/null > $old`; 
что именно iconv должен конвертировать по замыслу? на входе ничего нет.
хорошо, old мы очистили, но что при этом должно попасть в
new? очевидно вывод команды cat /dev/null > $old. а в нем ничего нет.

mv "$old" "$new"
при таком написании в new должно быть некое имя файла. 
кстати, зачем? Вы ведь только что очистили old, cat'нув в него /dev/null. 


зы. как минимум cat "$old" | iconv -c -f cp1251 -t koi8-r 
(куда оно пойдет вопрос отдельный)

попробуйте для начала на естественном языке описать, как оно должно
работать.




Подробная информация о списке рассылки community