NAME
ru-utf8 - утилита подмены файлов в национальных кодировках на файлы в utf-8.
VERSION
Version 0.06
SYNOPSIS
ru-utf8 [-h] [--man] [<files> ...] [--ext exts] [--in-branch] [--in-dir dirs] [--command <command> | --script <script>]
DESCRIPTION
Утилита переводит файлы во временные в кодировке 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` возвращает максимальный код из возвращённых при запуске команды над файлами.
OPTIONS
- -h, --help
-
Показать помощь и выйти.
- --man
-
Распечатать мануал и завершиться.
- -e exts, --ext exts
-
Список расширений через запятую.
По умолчанию: pm,pl,plx,t.
Пустая строка обозначает любые расширения.
- -i interpreters, --interpreters interpreters
-
Список интерпретаторов через запятую.
По умолчанию: perl,perl5.
Пустая строка отменяет файлы без расширений.
- -n encodings, --encodings encodings
-
Список кодировок через запятую.
По умолчанию берётся из переменной окружения RU-ENCODINGS, а если она пуста, равняется: utf-8,cp1251,koi8-r.
- -b, --in-branch
-
Форматировать изменённые и закомиченные файлы в ветке (branch-е).
- -d dirs, --in-dir dirs
-
Форматировать изменённые и закомиченные файлы в директориях. Директории через запятую.
- -с command, --command command
-
Команда.
Обязательный параметр, если параметр -s не указан.
- -s script, --script script
-
Код perl.
Обязательный параметр, если параметр -c не указан.
- -o, --overall
-
Указывает, что команда одна для всех файлов, а не для каждого по отдельности.
При этом обращение к файлам происходит как в шелле: $1, $2...
Например:
ru-utf8 file1 file2 -c 'cat $1 $2'
ARGS
LICENSE
⚖ GPLv3
AUTHOR
Yaroslav O. Kosmina <darviarush@mail.ru>