PostHeaderIcon A “tela preta” e seus poderes: reduzindo a resolução de suas fotos através da linha de comando e dos “pipes”.

Foi-se o tempo em que as distribuições GNU/Linux eram limitadas aos terminais de “tela preta”. Atualmente, existem diversas alternativas de ambientes gráficos e uma vasta parafernalha de recursos para tornar seu ambiente gráfico de desktop ágil e bastante atrativo. Por outro lado, isso não significa dizer que a “tela preta” ficou para trás e não possui mais qualquer utilidade. Muito pelo contrário. Ela continua sendo uma excelente ferramenta para administradores de sistemas, analistas de segurança, desenvolvedores e usuários mais avançados.

Além de poder executar diversos comandos individuais de maneira ágil, a possibilidade de poder combinar comandos através do uso dos pipes é o que, particularmente, considero ser um dos grandes poderes “Jedi” da “tela preta”. Com esse recurso, é possível criar, facilmente, funcionalidades que não existem através de um único comando para atender às suas necessidades. É claro que, quanto maior a experiência com a “tela preta”, melhor será suas condições em usar do recurso dos pipes. E, logicamente, nada melhor do que praticar um pouco para desafiar a criatividade.

Diante disso, resolvi compartilhar por aqui um exemplo que pode ser útil para o seu dia a dia: reduzir o tamanho de suas fotos. Com câmeras digitais cada vez mais acessíveis e com a sua inclusão em diversos dispositivos como celulares e tablets, muitas pessoas costumam acumular muitos gigas armazenando suas imagens. Some-se a isso o fato das resoluções cada vez mais altas gerarem arquivos maiores. Diante disso, seja como uma forma de economizar espaço em seus meios de armazenamento (e.g. HDs externos) ou como facilitar o envio e o compartilhamento de suas fotos através da Internet, reduzir o tamanho de suas fotografias, às vezes, pode ser uma ideia interessante.

A questão é: como fazer isso de umam única vez aplicando a redução para todas as fotografias selecionadas? Bem, como você já deve ter desconfiado, a “tela preta” pode lhe ser útil nesse momento especialmente por meio do uso dos pipes. Vamos dar uma olhada?

Suponha que exista um diretório chamado /home/jansen/MyPictures repleto de fotografias com a extensão “JPG”. Todas essas fotografias estão com uma resolução muito alta e cada arquivo possui em torno de 5MB. A ideia é conseguir reduzir todos esses arquivos para uma resolução de 800×600.

O primeiro passo consiste em instalar um excelente gerenciador de imagens em linha de comando (sim, isso mesmo!), chamado imagemagick. Caso sua distribuição seja baseada no Debian (e.g. Ubuntu), basta executar o seguinte comando com o seu usuário convencional:

$ sudo apt-get install imagemagick

Em seguida, digite sua senha. Por outro lado, caso seu usuário não esteja configurado no sudo (isso é comum em instalações padrão do Debian, por exemplo), abra um terminal como root e digite o comando anterior diretamente:

# apt-get install imagemagick

Com o seu usuário convencional, entre no diretório /home/jansen/MyPictures, onde estão armazenadas as imagens e use do “poder Jedi” dos pipes:

$ cd /home/jansen/MyPictures

$ mkdir /tmp/MyReducedPictures && ls *JPG | cut -d. -f1 | xargs -t -i \ convert -resize 800x600 {}.JPG /tmp/MyReducedPictures/{}_REDUCED.JPG

Com isso, suas imagens vão começar a ser reduzidas de tamanho, uma a uma. Passados alguns segundos (de acordo com a quantidade de fotos), uma cópia com a resolução reduzida de todas as imagens, estará salva no diretório /tmp/MyReducedPictures!!! Simples, não?!

Quer entender um pouco melhor o que aconteceu? Então aguarde o próximo post…

Leave a Reply