1
resposta

Removendo extensão e salvando em outro diretório

Não consegui obter êxito na atividade quem puder me ajudar ficarei muito grato. ERRO Abaixo

ls: cannot access 'algoritmos.jpg.jpg': No such file or directory
convert-im6.q16: unable to open image `.jpg': No such file or directory @ error/blob.c/OpenBlob/2874.
convert-im6.q16: no decode delegate for this image format `' @ error/constitute.c/ReadImage/560.
convert-im6.q16: no images defined `.png' @ error/convert.c/ConvertImageCommand/3258.
ls: cannot access 'amazon_aws.jpg.jpg': No such file or directory
convert-im6.q16: unable to open image `.jpg': No such file or directory @ error/blob.c/OpenBlob/2874.
convert-im6.q16: no decode delegate for this image format `' @ error/constitute.c/ReadImage/560.
convert-im6.q16: no images defined `.png' @ error/convert.c/ConvertImageCommand/3258.

Codigo:

#!/bin/bash

caminho="../imagens-livros"


cd "$caminho"

for imagem in *.jpg

do
        imagem_sem_Extensao=$(ls $imagem.jpg | awk -F. '{ print $1 }')
        convert $imagem_sem_Extensao.jpg  $imagem_sem_Extensao.png
done
1 resposta

Se você observar o erro, vai perceber que ele está com dois jpg no nome da imagem (cannot access 'algoritmos.jpg.jpg'), para corrigir isso é só remover .jpg da linha que você faz o comando ls, ficaria assim a linha:

imagemsemExtensao=$(ls $imagem | awk -F. '{ print $1 }')

Porque quando você faz:

for imagem in *.jpg

Você está percorrendo todos os arquivos com a extensão jpg no diretório e cada vez que o laço é percorrido a variável $imagem recebe o nome de um dos arquivos com a extens