ru-utf8 - утилита подмены файлов в национальных кодировках на файлы в utf-8.
Version 0.06
ru-utf8 [-h] [--man] [<files> ...] [--ext exts] [--in-branch] [--in-dir dirs] [--command <command> | --script <script>]
Утилита переводит файлы во временные в кодировке utf-8 (в /tmp) и после выполнения команды и их изменения переписывает обратно в определённой кодировке.
Обработать файлы командой shell:
$ ru-utf8 -c 'echo $f $o $x $e' $ ru-utf8 -c 'perltidy $f -st > $o' $ ru-utf8 -o -c 'echo $f1 $o1 $x1 $e1 -- $f2 $o2 $x2 $e2'
Обработать файлы скриптом perl:
$ ru-utf8 -s 'print "$f $o $x $e $unicode"' $ ru-utf8 -o -s 'print "@f @o @x @e"'
Есть 4 основные режима работы:
# Обработать все изменённые, но ещё не закомиченные файлы: $ ru-utf8 # Обработать изменённые и закомиченные файлы в ветке (branch-е): $ ru-utf8 --in-branch # Обработать файлы в директориях: $ ru-utf8 --in-dir .,/tmp/mydir # Обработать указанные файлы: $ ru-utf8 file1 /root/file2
С помощью опции -e (--ext) можно указать расширения файлов для форматирования (по умолчанию это pm,pl,plx,t):
$ ru-utf8 -e pm,t
А для файлов, которые расширений не имеют, можно указать список интерпретаторов, указываемых в первой строке скрипта (#!/usr/bin/env perl):
$ ru-utf8 -i perl,perl5
Так же можно указать кодировки и порядок в котором они будут проверяться:
$ ru-utf8 -n cp1251,utf-8
`ru-utf8` возвращает максимальный код из возвращённых при запуске команды над файлами.
Показать помощь и выйти.
Распечатать мануал и завершиться.
Список расширений через запятую.
По умолчанию: pm,pl,plx,t.
Пустая строка обозначает любые расширения.
Список интерпретаторов через запятую.
По умолчанию: perl,perl5.
Пустая строка отменяет файлы без расширений.
Список кодировок через запятую.
По умолчанию берётся из переменной окружения RU-ENCODINGS, а если она пуста, равняется: utf-8,cp1251,koi8-r.
Форматировать изменённые и закомиченные файлы в ветке (branch-е).
Форматировать изменённые и закомиченные файлы в директориях. Директории через запятую.
Команда.
Обязательный параметр, если параметр -s не указан.
Код perl.
Обязательный параметр, если параметр -c не указан.
Указывает, что команда одна для всех файлов, а не для каждого по отдельности.
При этом обращение к файлам происходит как в шелле: $1, $2...
Например:
ru-utf8 file1 file2 -c 'cat $1 $2'
Файлы или директории с файлами, которые нужно отформатировать.
⚖ GPLv3
Yaroslav O. Kosmina <darviarush@mail.ru>
To install Octets::To::Unicode, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Octets::To::Unicode
CPAN shell
perl -MCPAN -e shell install Octets::To::Unicode
For more information on module installation, please visit the detailed CPAN module installation guide.