Flip. конвертация файлов между форматами DOS и UNIX/Linux
Flip преобразует окончания строк текстовых файлов между MS-DOS и UNIX/Linux форматами. Автоматически распознает бинарные файлы и не изменяет их, если этого не задано явно. Файлы так же не будут изменены, если они уже в нужном формате. Время создания/изменения файлов не изменяется, если этого не задано явно. Flip коректно обрабатывает прерывание обработки файлов от пользователя и не оставляет за собой мусора или испорченных файлов. Flip не выполняет преобразование файлов в другие кодировки, а так же не умееет обрабатывать окончания строк Apple Macintosh (только CR).
Установка flip в Debian
$ sudo aptitude install flip
Синтаксис Flip
$ flip -h
$ flip -umvtsbz file
Доступные настройки
- -u преобразовать в *NIX формат (CR LF => LF, одиночный CR или LF остается без изменений, находящийся в конце строки Z удаляется, находящийся внутри строки Z остается без изменений)
- -m преобразовать в MS-DOS формат (одиночный LF => CR LF, одиночный CR остается без изменений)
- -h вывести справку
- -v вывод дополнительной информации, печатать имена обработанный файлов
- -t изменить временные метки файла
- -s удалить высший бит
- -b преобразовывать бинарные файлы (в противном случае финарные файлы остаются без изменений)
- -z обрезать файл при первом вхождении Z
Примеры использования Flip
Допустим, что file.txt является файлов в кодировке MS-DOS (то есть, имеющим ^Ms в конце каждой строки).
$ # преобразование dos-> unix/linux
$ flip -u file.txt
$ # преобразование unix/linux -> dos
$ flip -m file.txt
Flip поддерживает так называемые wildcards:
$ # преобразование dos-> unix/linux
$ flip -u *
$ # преобразование unix/linux -> dos
$ flip -m *.txt
При вызове Flip необходимо указывать одну из трех опций: -u, -m, -h. Опции можно задавать как отдельно, так и все вместе. Например, все ниже указанные комманды одинаковы:
$ flip -uvt *.c
$ flip -u -v -t *.c
$ flip -u -vt *.c
Особенности Flip
Обработка контрола Z
При выполнении преобразования из MS-DOS формата в UNIX/Linux flip удаляет любой хвостовой контрол Z (последний символ в файле), но оставляет не тронутыми все остальные контролы Z. Таким образом минимизируется вероятность случайного преобразования бинарного файла, содержащего контрол Z недалеко от начала файла. Эту особенность можно отключить с помощью опции -z.
Создание синонимов для вызова Flip
В операционных системах, где программы могут "знать" свои имена, flip может быть переименован (или сделан линк) в файлы: toix для преобразования в UNIX/Linux формат, toms для преобразования в MS-DOS формат. При вызове Flip как toix или toms будет автоматически подставлена одна из опций: -u или -m соответственно.
Альтернативами Flip являются такие комманды как dos2unix,unix2dos.