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

Grigory Fateyev =?iso-8859-1?q?greg_=CE=C1_anastasia=2Eru?=
Вт Мар 29 18:26:41 MSD 2005


Hello, Nick!
29 Марта 2005г. в 16:01 You wrote:

> > Где ошибка?
> везде ;-)
> 
> ставим команды по порядку и смотрим
> 
> 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 
> (куда оно пойдет вопрос отдельный)
> 
> попробуйте для начала на естественном языке описать, как оно должно
> работать.
 
1. "Катим" выбранный файл по маске;
2. Перекодируем вывод п.1;
3. Записываем вывод в $new;
4. $new свою очередь обнуляет $old;

find -type f -name "*.txt" -exec bash -c 'old="{}"; cat $old |
iconv -c -f cp1251 -t koi8-r -o new=`cat /dev/null > $old` \;

Вроде должно работать? :)

-- 
Всего наилучшего!
greg_[at]_anastasia_[dot]_ru Григорий.




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