Olá!
Tentei fazer o script adicionando uma verificação - se a extensão do arquivo é jpg. Coloquei as fotos em uma pasta chamada "Teste" no Desktop.
O script converte uma parte dos arquivos, e outra não. Deixa a seguinte mensagem de erro:
conversao-novos-livros.sh: linha 20: [: /home/home/Desktop/Teste/01.jpg: esperava operador binário
#!/bin/bash
converte_imagem(){
local caminho_imagem=$1
local imagem_sem_extensao=$(ls $caminho_imagem | awk -F. '{ print $1 }')
local extensao=$(ls $caminho_imagem | awk -F. '{ print $2 }')
if [ $extensao == "jpg" ]
then
echo "Trabalhando no arquivo" $imagem_sem_extensao
convert $imagem_sem_extensao.jpg $imagem_sem_extensao.png
fi
}
varrer_diretorio(){
cd $1
for arquivo in *
do
local caminho_arquivo=$(find ~/Desktop/Teste -name $arquivo)
if [ -d $caminho_arquivo ]
then
varrer_diretorio $caminho_arquivo
else
converte_imagem $caminho_arquivo
fi
done
}
varrer_diretorio ~/Desktop/Teste
Por fim - se tenho arquivos com ponto no nome (12.02.2004 - 01.jpg), o programa não deve funcionar, certo? Há algum modo de contornar esta questão?