Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mãos à obra: Montando a função converte_imagem

converte_imagem(){
    local caminho_imagem=$1
    local imagem_sem_extensao=$(ls $caminho_imagem | awk -F. '{ print $1 }')
    convert $imagem_sem_extensao.jpg $imagem_sem_extensao.png
}
1 resposta
solução!

Olá, Henrique!

Pelo que entendi, você está com dúvidas na função converte_imagem que você está criando no curso de Shell Scripting, certo? Vamos lá, vou tentar te ajudar.

A função converte_imagem que você postou parece estar correta de acordo com a descrição da atividade. Ela recebe um caminho de imagem como argumento, extrai o nome da imagem sem a extensão usando o comando awk, e então usa o comando convert para converter a imagem de .jpg para .png.

A única coisa que você precisa se certificar é que o comando convert está instalado e funcionando corretamente no seu sistema. Você pode testar isso executando convert -version no terminal. Se o comando não for encontrado, você pode precisar instalar o pacote imagemagick que fornece esse comando.

Outra coisa que você pode querer verificar é se o caminho da imagem que você está passando para a função converte_imagem está correto. Isso é feito na função varrer_diretorio, onde você deve substituir o comentário "Conversao jpg para png" pelo comando converte_imagem $caminho_arquivo.

Aqui está um exemplo de como a função varrer_diretorio pode ficar:

varrer_diretorio(){
    cd $1
    for arquivo in *
    do
        local caminho_arquivo=$(find ~/Downloads/imagens-novos-livros -name $arquivo)
        if [ -d $caminho_arquivo ]
        then
            varrer_diretorio $caminho_arquivo
        else
            converte_imagem $caminho_arquivo
        fi
    done
}

Espero ter ajudado e bons estudos!