Даниил Подрабинек (grohman) wrote in ru_shell,
Даниил Подрабинек
grohman
ru_shell

Рекурсивная смена кодировки

Пишу сюда просто примера ради.
find . -type f -exec sh -c "cat '{}' | iconv -f cp1251 -t utf8 -o '{}'" \;

Эта строка рекурсивно сменит кодировку во всех файлах в текущей директории с виндовой на utf8.
Tags: bash, iconv
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 7 comments
find . -type f -print | xargs -Ifl iconv -f cp1251 -t utf8 -o fl fl
ok :)
Только iconv иногда ругается на недопустимые последовательности.
iconv -c
grohman 1 # find . -type f -print | xargs -Ifl iconv -с -f cp1251 -t utf8 -o fl fl
xargs: iconv: завершен по сигналу 7

это только у меня так?
надо смотрть, на чем упал.
в strace нашел строки типа
getdents64(5, iconv: неверный ключ -- «?»
grohman, фигасе