LINUX.ORG.RU

Ответ на: комментарий от krang

там чуть по больше написано, прочитайте.

x0r ★★★★★
()

Локаль UTF-8? Тогда можно для каждого файла запустить enconv filename.
Например так: find /path/to/files -iname «*.txt» -exec enconv {}\;
Если локаль не UTF-8, тогда запускать так: enconv -x utf-8 filename.

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

Да, если они все в одной директории лежат, без поддиректорий, то можно и без find: enconv /path/to/files/*.txt

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

Ай-ай-яй

> find -iname "*.txt" -exec enconv {}\;
find: отсутствует аргумент у `-exec'

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

find -iname "*.txt" -print0 |xargs -0 enconv

Быстрее и надежнее.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Чтобы не иметь проблемы можно «{}» сделать :)

anonymous
()
Ответ на: комментарий от no-such-file

Быстрее и надежнее.

с чего вдруг, чем?

anonymous
()
for file in $(ls *) do
  iconv -f ANSI -t utf8 $file > $file
done

Уверен, что это неправильно, но думайте в этом направлении

alix ★★★★
()

Эх-хе-хе, кипучие лентяи совсем не хотят читать маны...

И ведь это не первый ТАКОЙ тред только за сегодня. Третий или четвёртый.

OldFatMan
()

В какой юникод? Если UTF-8, то он и так ANSI-совместимый, ничего конвертить не нужно. Для всего остального:

for file in *mask*; do
  iconv -f ANSI -t UTF-XX -o "$file" "$file"
done
segfault ★★★★★
()
Ответ на: комментарий от alix

эта команда поочередно затрет все файлы.

думать в этом направлении не стоит)

iconv -f ANSI -t utf8 $file > $file.new
mv $file.new $file 

тогда уж

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Slackware_user

эта команда поочередно затрет все файлы.

Так я ж и говорю

Уверен, что это неправильно, но думайте в этом направлении

alix ★★★★
()

Если же файлы в разной кодировке, то для определения кодировки можно использовать программу enca

Severus_Zley
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.