Algumas vezes alguém precisa simplesmente converter um arquivo de vídeo, de áudio ou documenta para outro formato.
Text encoding
A codificação de texto pode ficar totalmente errada, especialmente quando o idioma requer caracteres especiais como àäç. O comando iconv
pode converter de uma codificação para outra.
# iconv -f <from_encoding> -t <to_encoding> <input_file>
# iconv -f ISO8859-1 -t UTF-8 -o file.input > file_utf8
# iconv -l # Lista configurações de caracter de coded conhecido
Sem a opção -f, iconv utilizará o char-set local, que é normalmente bom
se o documento exibe bem.
Converte filenames de uma codificação para outra (não o conteúdo do arquivo). Funciona também se somente alguns arquivos já forem utf8
# convmv -r -f utf8 --nfd -t utf8 --nfc /dir/* --notest
Unix – DOS newlines
Converte newlines DOS (CR/LF) para Unix (LF) e colta para dentro de um shell Unix. Veja também dos2unix
e unix2dos
caso tiver.
# sed 's/.$//' dosfile.txt > unixfile.txt # DOS para UNIX # awk '{sub(/\r$/,"");print}' dosfile.txt > unixfile.txt # DOS para UNIX # awk '{sub(/$/,"\r");print}' unixfile.txt > dosfile.txt # UNIX para DOS
Converte newlines do Unix para newlines do DOS dentro de um ambiente Windows. Utilize sed ou awk do mingw ou do cygwin.
# sed -n p unixfile.txt > dosfile.txt
# awk 1 unixfile.txt > dosfile.txt # De UNIX para DOS (com o sheel cygwin)
Remove newline ^M
do mac e substitui para unix new line. Para ebter um ^M
utilize CTL-V e depois CTL-M
# tr '^M' '\n' < macfile.txt
PDF para Jpeg e concatena arquivos PDF
Converte um documento PDF com o gs
(GhostScript) para imagens jpeg (ou png) para cada página. Também bem curto com o convert
e o mogrify
(do ImageMagick ou GraphicsMagick).
# gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \ -dMaxStripSize=8192 -sOutputFile=unixtoolbox_%d.jpg unixtoolbox.pdf # convert unixtoolbox.pdf unixtoolbox-%03d.png # convert *.jpeg imagens.pdf # Gera um PDF simples com todas as imagens # convert imagem000* -resample 120x120 -compress JPEG -quality 80 imagens.pdf # mogrify -format png *.ppm # converte todas as imagens ppm para o formato png
Ghostscript pode também concatenar múltiplos arquivos pdf dentro de um único. Isso só funciona bem se os arquivos PDF forem “well behaved”.
# gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=all.pdf \
file1.pdf file2.pdf ... # No Windows utilize '#' ao inves de '='
Extraia imagens do documento pdf utilizando o pdfimages
a partir do poppler ou o xpdf
http://foolabs.com/xpdf/download.html
# pdfimages document.pdf dst/ # extraia todas as imagens e coloque-as dentro do dst # yum install poppler-utils # instala poppler-utils se necessário. ou: # apt-get install poppler-utils
Converter vídeo
Comprime o vídeo da digicam Canon com um codec mpeg4 e o som de baixa qualidade (crappy sound).
# 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
Veja sox para processamento de som.
Cópia um cd de áudio
o programa cdparanoia
http://xiph.org/paranoia/ pode salvar as faixas de áudio (FreeBSD port em audio/cdparanoia/), oggenc
pode codificar em formato Ogg Vorbis format, lame
converte para mp3.
# cdparanoia -B # Cópia as faixas para arquivos wav no diretório atual # lame -b 256 in.wav out.mp3 # Codifica em 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 # Codifica em Ogg Vorbis 256 kb/s