Renomear em sequência arquivos de imagens acrescentando a informação do tamanho

Publicado por Perfil removido (última atualização em 06/06/2017)

[ Hits: 3.195 ]

Download 6655.renomear-imagens-LxA.sh




Um simples script para renomear vários arquivos de imagens e organizar os nomes em sequência adicionando a informação do tamanho (Largura vs Altura) das imagens.

  



Esconder código-fonte

#!/bin/bash
# Autor: PauloHAC (costapha@outlook.com)
# Renomeia em sequência arquivos de imagens, adicionando a resolução "Largura x Altura"
# ao nome dos arquivos.

# funções
ajuda() {
echo -e "Como usar: script.sh [opções]\n \
\t-p pasta (ex: $HOME/Imagens)\n \
\t-n nome dos arquivos (ex: fotos)\n \
\t-i início da numeração (ex: 10)\n \
\t-h exibe a mensagem de ajuda"
}

simular() {
n=$NUM
for ARQ in `ls -v -1 *.{jpg,JPG,png,PNG,jpeg,JPEG} 2> /dev/null` ; do
    EXT=`echo "$ARQ" | awk -F"." '{print $2}'`
    TAM=`identify "$ARQ" | cut -d" " -f3`
    NEW="$NOME$(printf "%03d" $n)-$TAM.$EXT"
    echo "SIMULAÇÃO: $ARQ => $NEW"
    let n++
done
}

renomear() {
n=$NUM
for ARQ in `ls -v -1 *.{jpg,JPG,png,PNG,jpeg,JPEG} 2> /dev/null` ; do
    EXT=`echo "$ARQ" | awk -F"." '{print $2}'`
    TAM=`identify "$ARQ" | cut -d" " -f3`
    NEW="$NOME$(printf "%03d" $n)-$TAM.$EXT"
    mv -i -v "$ARQ" "$NEW"
    let n++
done
}

# Atribuição dos valores das variáveis
if [ -z "$1" ] ; then
    echo "Entrando no modo interativo..."
    read -p "Diretório (ex: $HOME/Imagens): " PASTA
    read -p "Nome (ex: fotos): " NOME
    read -p "Início (ex: 1): " NUM
fi

while [ -n "$1" ]
do
    case "$1" in
        -p )         shift ; PASTA=$1 ;;
        -n )         shift ; NOME=$1 ;;
        -i )         shift ; NUM=$1 ;;
        -h|--help )  ajuda ; exit ;;
        * )          echo "Opção inválida!" ; ajuda ; exit ;;
    esac
    shift
done

# Verificação dos parâmetros ??
if [ ! -d "$PASTA" ] ; then
    echo "A pasta não foi encontrada."
    echo "Saindo sem fazer nada!"
    exit
else
    cd $PASTA
fi

# Operação
simular | tee .simula.tmp
simulateste=`cat .simula.tmp`
if [ -n "$simulateste" ] ; then
    echo -n "Deseja confirmar a operação? (S/n): "; read RESP 
    if [ $RESP = S ] || [ $RESP = s ] ; then
        renomear
        rm .simula.tmp
    else
        echo "Saindo sem fazer nada!"
        rm .simula.tmp
        exit
    fi
else
    echo "Não foram encontrados arquivos .png/.jpg"
    rm .simula.tmp
    exit
fi

Scripts recomendados

Editor de TAG MP3

Script de instalação para Firefox e Thunderbird

Criando pdf para impressão de livros

Script de Backup Simples

Conversão em massa de arquivos .wav para .mp3


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts