Перевод сборника команд Unix ToolBox. Раздел 16. Convert Media (Конвертирование форматов)
16 Конвертирование форматов
16.1 Кодировки текста
Для конвертирования текстового файла из одной кодировки в другую, служит команда iconv.
# iconv -f -t # iconv -f ISO8859-1 -t UTF-8 -o file.input > file_utf8 # iconv -l # Список всех поддерживаемых кодировок
Без опции -f, iconv будет использовать локальную кодировку.
16.2 Символы новой строки 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)
16.3 Конвертировать 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 используйте '#' вместо '='
16.4 Конвертировать видео
Сжатие видео, кодеком 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.
16.5 Копирование audio cd
Сохранить трэки можно программой cdparanoia ( 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