NAME

ru-utf8 - утилита подмены файлов в национальных кодировках на файлы в utf-8.

VERSION

Version 0.02

SYNOPSIS

ru-utf8 [-h] [--man] [<files> ...] [--ext exts] [--in-branch] --command <command>

DESCRIPTION

Утилита переводит файлы во временные в кодировке utf-8 (в /tmp) и после выполнения команды и их изменения переписывает обратно в определённой кодировке.

Есть 3 основные режима работы:

# Обработать все изменённые, но ещё не закомиченные файлы:
$ ru-utf8 -c ''

# Обработать изменённые и закомиченные файлы в ветке (branch-е):
$ ru-utf8 --branch

# Обработать указанные файлы:
$ ru-utf8 file1 /root/file2

С помощью опции -e (--ext) можно указать расширения файлов для форматирования (по умолчанию это pm,pl,plx,t,):

$ ru-utf8 -e pm,,t

Обратите внимание на пустое расширение — оно используется для исполняемых скриптов perl, которые расширения не имеют. При наличие такого расширения будет проверяться так же первая строка файла регуляркой /^#!.*?\bperl\b/.

Так же можно указать кодировки и порядок в котором они будут проверяться:

$ ru-utf8 -n cp1251,utf-8

`ru-utf8` возвращает максимальный код из возвращённых при запуске команды над файлами.

OPTIONS

-h, --help

Показать помощь и выйти.

--man

Распечатать мануал и завершиться.

-e <exts>, --ext <exts>

Список расширений через запятую.

По умолчанию: pm,pl,t,.

Пустое расширение обозначает файлы без расширений. Однако в них проверяется наличие #! в начале файла.

-n encodings, --encodings encodings

Список кодировок через запятую.

По умолчанию берётся из переменной окружения RU-ENCODINGS, а если она пуста, равняется: utf-8,cp1251,koi8-r.

-b, --in-branch

Форматировать изменённые и закомиченные файлы в ветке (branch-е).

command, --command command

Команда.

Обязательный параметр.

-o, --overall

Указывает, что команда одна для всех файлов, а не для каждого по отдельности.

При этом обращение к файлам происходит как в шелле: $1, $2...

Например:

ru-utf8 file1 file2 -c 'cat $1 $2'

ARGS

files...

Файлы или директории с файлами, которые нужно отформатировать.

LICENSE

GPLv3

AUTHOR

Yaroslav O. Kosmina <darviarush@mail.ru>