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.129 ]
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.
#!/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
PC Report - Coleta lista de dispositivos instalados e logs
Detectar sistemas operacionais dos dispositivos na rede via TTL
Script para listar tentativas de acessos
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Consertando o áudio com estalos e interrupções no Pipewire
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
REDE WI-FI NÃO APARECE NO LINUX MINT (0)
Como programar um sistema de controle para distribuições linux em c? (5)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (2)









