Fiquei pensando em um código que:
- Quando a pasta estiver vazia ele converte os arquivos todos
- Quando há um arquivo convertido e um arquivo com o mesmo nome do arquivo que será convetido ele ignora e converte os arquivos que estão faltando
# !/bin/bash
PATH0FILE=~/ShellScript/Convertidos
PATH1FILE=~/ShellScript/Imagens
FC=0
FD=0
file0_convert(){
cd $1
for FILE0 in *.png ; do
if [ -a $FILE0 ] ; then
echo "teste"
local NO_EXTENSION=$(ls $FILE0 -1 | awk -F . '{ print $1 }')
echo $NO_EXTENSION
file1_convert $NO_EXTENSION $PATH1FILE
cd $1
continue
else
echo "Pasta está vazia"
file1_convert "Sem conversão" $PATH1FILE
fi
done
}
file1_convert(){
cd $2
for FILE1 in *.jpg ; do
local NO_EXTENSION=$(ls $FILE1 -1 | awk -F . '{ print $1 }')
if [ $NO_EXTENSION = "$1" ] ; then
echo "Arquivo ja convertido $1"
let FD++
break #Eu coloquei o break aqui para fazer um teste
else
convert $NO_EXTENSION.jpg $NO_EXTENSION.png
mv *.png $PATH0FILE
echo "Criando imagens"
let FC++
fi
done
}
file0_convert $PATH0FILE
echo "Arquivos Existentes:$FD"
echo "Arquivos convertidos:$FC"
O que o codigo está fazendo com o break:
- Se a primeira estiver na pasta das imagem convertidas que no caso se chama Cachorro.png. Sendo, ela estando somente no diretório, fazendo parar a execução.
- Se a ultima imagem estiver na pasta das imagens convertidas que no caso é Sol.png. Sendo, ela estando somente no diretório, fazendo converter todas até chegar nela mesma parando a execução.
- Se alguma imagem que está entre a primeira e a ultima na pasta das imagens convertidas. Sendo, alguma delas estando somente no diretório, fazendo converter todas até chegar nela mesma parando a execução do codigo.
Motivos:
Quando chega no if da função file1_convert() é verificado se tem nomes iguais. Se houver nomes iguais a execução para naquele ponto. Ou seja, se a ultima imagem estiver somente na pasta, vai se coverter as imagens até chegar nela mesma.
if [ $NO_EXTENSION = "$1" ] ; then
Conclusão:
Não é eficiente para converter as imagens restantes, se caso a primeira ou alguma outra imagem menos se a ultima imagem estiver na pasta. Isso faz com que a execução seja interrompida não completando a tarefa. E a execução do codigo é pouco demorada, podemos perceber, pela quantidade de vezes que passou pela conver(sç -> Escolha a opção correta )ão Arquivos convertidos:91
O que está abaixo demonstra como o codigo se comporta se todas as imagens estiverem na pasta. O total de imagens é 14
teste
Cachorro
Arquivo ja convertido Cachorro
teste
Cratera
Criando imagens
Arquivo ja convertido Cratera
teste
Dados
Criando imagens
Criando imagens
Arquivo ja convertido Dados
teste
DesenhoHomer
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido DesenhoHomer
teste
DesenhoSimpsons
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido DesenhoSimpsons
teste
flor
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido flor
teste
Gato
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Gato
teste
Girasol
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Girasol
teste
Lago
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Lago
teste
Linux
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Linux
teste
Lobo
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Lobo
teste
Montanha
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Montanha
teste
Planta
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Planta
teste
Sol
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Criando imagens
Arquivo ja convertido Sol
Arquivos Existentes:14
Arquivos convertidos:91
CONTINUAÇÃO EM BAIXO