segunda-feira, 30 de junho de 2008

Shell Script no dia-a-dia

O Shell (ou concha) envolve o kernel e te dá a possibilidade de interagir com o sistema através de comandos. Saber manusear tais comandos e agrupá-los para resolver um problema proposto é o que o Shell Script te proporciona.

Dessa forma, você pode escrever o roteiro (sequência de comandos) e construir uma cena (ou tarefa) a ser executada pelo seu computador. Interessante, não?

Na prática eu posso, por exemplo, diminuir o tamanho de fotos JPEG automaticamente em um diretório, evitando trabalho manual em dezenas de fotos. Legal, né? E como eu faria isso?

É simples, através de um shell script que eu fiz quando precisei realizar esta tarefa cotidiana de diminuir fotos. O segredo está em executar o utilitário convert (da ImageMagick) em cada uma das imagens no diretório e diminuir sua qualidade!

O convert pode ser instalado através do pacote imagemagick, que é um conjunto de utilitários para criar e editar imagens.

No Ubuntu, basta:
sudo apt-get install imagemagick
para instalar o conjunto de pacotes, incluindo o convert.

O script segue abaixo:
#!/bin/bash

# Definindo o diretório onde as fotos estão.
if [ $# -eq 1 ]; then
DIR=$1
else
DIR='.'
fi

# Diretório destino das fotos diminuidas.
DEST="$DIR/FOTOS_DIMINUIDAS"

echo
echo "As novas imagens serão enviadas para $DEST"
echo "Pressione qualquer tecla para continuar ou CTRL^C para sair"
read

# Cria diretório de destino se ele não existe.
if [ ! -e $DEST ]; then
mkdir $DEST
fi

echo
echo "Tratando fotos .jpg ou .JPG em $DIR"
echo

# Executa rotina para cada foto no diretório
for FOTO in `ls ${DIR}/*.{jpg,JPG} 2> /dev/null`
do

# Foto que será tratada.
ENTRADA="${DIR}/`basename ${FOTO}`"
# Foto que será gerada.
SAIDA="${DEST}/`basename ${FOTO}`"

# Verificando se a foto a ser gerada já existe.
if [ ! -e ${SAIDA} ]; then
echo "gerando ${SAIDA}"
# Comando para converter ou diminuir as fotos
convert -quality 90 $ENTRADA $SAIDA
else
echo "Não foi possível converter ${FOTO}, pois ela já existe"
echo "Pressione qualquer tecla para continuar ou CTRL^C para sair"
read
fi

done

Vale lembrar que ele pode ser melhorado, mas fica aí a dica pra facilitar a vida.

sábado, 14 de junho de 2008

Firefox Download Day

A Mozilla Foundation está organizando o Firefox Download Day que consiste basicamente em estabelecer um recorde mundial do software mais baixado em 24 horas.

Download Day - Portuguese

Para participar é fácil!

Acessando o site Spread Firefox | Download Day 2008 você pode se cadastrar e receber um lembrete do download no dia, e ajudar a estabelecer este recorde.

Você também pode ajudar na divulgação adicionando os ícones e logos do Download Day em seu site, blog ou perfil. É só escolher aqui!