LinuxForum.Fans
Тема

Рекурсивно изменить кодировку у всех файлов во всех папках [решено]

Автор: n9uf 3 сообщений 4877 просмотров
#2959

Привет всем, хочу изменить кодировку в одной директории. Но в этой директории есть поддиректории и файлы разных расширений (html, html, txt). Нужно изменить эти все файлы, они в кодриовке cp1251 мне надо изменить на utf8.
Есть чудо-программка enconv, но вот она не может вызываться рекурсивно для всех подпапок. Как это можно сделать? Не буду ж я в каждую папку заходить и писать enconv -L ru -x UTF-8 *
Кстати, может быть команда некоретно составлена. Под определие "звездочка" так же попадают и директории, а не только файлы. Вот и еще вопрос, как указать "все файлы, кроме дирректрий"?

#2965
n9uf написал:

Есть чудо-программка enconv, но вот она не может вызываться рекурсивно для всех подпапок.

Зато есть чудесный юникс-вей, и программки типа find
Например
find имя_родительского_каталога -type f -exec enconv -L ru -x UTF-8 {} \;
Можно еще добавить ключ -name для поиска по шаблону имени
А есть еще тоже замечательная программка xargs

#2969

nesk, огромное спасибо! Этой программы мне точно не хватало! Прощай рутина! Юникс-вей рулит!

Войдите или зарегистрируйтесь, чтобы ответить.