find . -iname *.java -type f -exec bash -c "iconv -f WINDOWS-1252 -t UTF-8 {} > {}.tmp " \; -exec mv {}.tmp {} \;
Команда find . -iname *.java -type f -exec bash -c "iconv -f WINDOWS-1252 -t UTF-8 {} > {}.tmp " \; -exec mv {}.tmp {}
находит все файлы с расширением .java в текущем каталоге и его подкаталогах, затем для каждого файла выполняет следующие действия:
1. Конвертирует кодировку файла из WINDOWS-1252 в UTF-8 с помощью iconv
.
2. Сохраняет результат во временный файл с расширением .tmp.
3. Заменяет исходный файл временным файлом с обновленной кодировкой.
Эта команда полезна для изменения кодировки файлов с исходным кодом из cp1252 (используемой в MS Windows) на UTF-8. Альтернативой может быть использование других утилит для конвертации кодировки, таких как recode
или iconv
, или использование интегрированных сред разработки для выполнения подобных операций. Аргументы {} представляют собой путь к каждому файлу, найденному командой find
.