Так уж исторически сложилось, что по мере развития цифровых информационных технологий большинство компаний разрабатывающих программное обеспечение создавали собственный формат данных. Так появилось множество форматов мультимедийных, текстовых и системных файлов. В этом изобилии не только легко запутаться, им еще и трудно управлять. Очень часто возникает проблема, когда вы не можете открыть файл в формате, не поддерживаемом вашей программой. Тогда на помощь приходят конверторы.
Чтобы разобраться, как можно конвертировать файлы не прибегая к программам с графическим интерфейсом выкладываю очередную главу перевода сборника команд Unix ToolBox, касающуюся именно конверторов файлов.
Конвертирование форматов
Кодировки текста
Для конвертирования текстового файла из одной кодировки в другую, служит команда iconv.
# iconv -f -t
# iconv -f ISO8859-1 -t UTF-8 -o file.input > file_utf8
# iconv -l # Список всех поддерживаемых кодировок
Без опции -f, iconv будет использовать локальную кодировку.
Символы новой строки Unix — DOS
Конвертирование символов новой строки DOS(CR/LF) в Unix формат и обратно. Смотрите так-же dos2unix и unix2dos.
# sed ‘s/.$//’ dosfile.txt > unixfile.txt # DOS в UNIX
# awk ‘{sub(/\r$/,»»);print}’ dosfile.txt > unixfile.txt # DOS в UNIX
# awk ‘{sub(/$/,»\r»);print}’ unixfile.txt > dosfile.txt # UNIX в DOS
Конвертирование в Windows окружении, используя sed или awk из mingw или cygwin.
# sed -n p unixfile.txt > dosfile.txt
# awk 1 unixfile.txt > dosfile.txt # UNIX в DOS (используя оболочку cygwin)
Конвертировать PDF в Jpeg и объединение PDF файлов
Конвертировать PDF в JPG (или PNG), можно с помощью gs (GhostScript), из каждой страницы будет создано отдельно изображение. Эту-же задачу можно решить с помощью convert (из ImageMagick или GraphicsMagick).
# gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
-dMaxStripSize=8192 -sOutputFile=unixtoolbox_%d.jpg unixtoolbox.pdf
# convert example.pdf example-%03d.png
# convert *.jpeg images.pdf # Создать простой PDF документ из всех картинок
Кроме того Ghostscript может объединить несколько PDF файлов в один большой файл.
# gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=all.pdf \
file1.pdf file2.pdf … # В Windows используйте ‘#’ вместо ‘=’
Конвертировать видео
Сжатие видео, кодеком mpeg4 с исправлением звука.
# mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 \
-channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts \
vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI
Так-же смотрите sox.
Копирование audio cd
Сохранить трэки можно программой cdparanoiacdparanoia (FreeBSD порт /usr/ports/audio/cdparanoia/), oggenc поможет конвертировать в формат Ogg Vorbis, lame конвертирует в mp3.
# cdparanoia -B # Копировать трэки в WAV файлы, в текущую директорию.
# lame -b 256 in.wav out.mp3 # Кодировать в mp3 с битрейтом 256 kb/s
# for i in *.wav; do lame -b 256 $i `basename $i .wav`.mp3; done
# oggenc in.wav -b 256 out.ogg # Кодировать в Ogg Vorbis 256 kb/s