você está aqui: Home → Colunistas → Cantinho do Shell
Por Fábio Costa
Data de Publicação: 15 de Fevereiro de 2007
O script de hoje é uma colaboração de Fabio Costa e seu objetivo é gerar uma página com miniaturas das imagens de um determinado diretório.
O tratamento das imagens é feito com o utilitário convert
, parte do pacote ImageMagick.
#!/bin/bash i=0 thumbspage="thumbs.html" thumbsdir="thumbs" thumbssuffix="thumbs" pagename="Página de miniaturas" force= while getopts 'hn:p:d:s:f' OPT_LETRA do case $OPT_LETRA in 'h') echo "SCRIPT para geração de páginas de thumbanils" echo echo "thumbs_gen [OPÇÕES]" echo echo "Opções:" echo echo "-h retorna essa mensagem de erro" echo "-n [nome_pagina] cabeçalho da página de miniaturas" echo "-p [arq_pagina] nome do arquivo da página" echo "-d [dir_thumbs] diretório onde ficarão as miniaturas das" echo " imagens do diretorio" echo "-s [sufixo] sufixo a ser adicionado ao nome das miniaturas" echo "-f sobrescreve arquivos e diretórios existentes" exit 0 ;; 'n') pagename=$OPTARG ;; 'd') thumbsdir=$OPTARG ;; 's') thumbssufix=$OPTARG ;; 'p') thumbspage=$OPTARG ;; 'f') force="1" esac done cabecalho=" <HTML> <HEAD> <TITLE> $pagename </TITLE> <BODY> <TABLE width=100%> <TR> <H1>$pagename</H1> " if [ ! -d "$thumbsdir" ] then mkdir $thumbsdir else if [ -z "$force" ] then echo "Atenção: Diretório de thumbnails existe! Saindo..." exit 1 fi fi if [ -f "$thumbspage" -a -z "$force" ] then echo "Atenção: Arquivo HTML da galeria existe! Saindo..." exit 1 fi echo $cabecalho > $thumbspage for file in `ls | grep -E -e '(gif|jpg|png|bmp)'`; do mainfile=`echo $file | cut -d. -f1` thumbfile="${thumbsdir}/${mainfile}_${thumbssuffix}.jpg" convert -scale 300x200 $file $thumbfile case $i in 0) linha=" </tr> <tr> <td> <a href='$file'> <img src='$thumbfile'> </a> </td>" echo $linha >> $thumbspage i=1 ;; 1) linha=" <td> <a href='$file'> <img src='$thumbfile'> </a> </td>" echo $linha >> $thumbspage i=0 ;; esac done rodape=' </TR> </TABLE> </HTML>' echo $rodape >> $thumbspage