chinabhz me parece uma regexp para o China de BH que sabe tudo de EAD. Espero que seja, pois assim estou ajudando uma pessoa que admiro.
Seguinte: a sintaxe do convert é: convert input-file [options] output-file e eu não vi o tal do output file no seu script. Suponha que o seu loop, em um determinado momento atribuiu FOTO à sua variável $img. Entendi que qdo colocou a variável $imgdatada, vc queria que a foto convertida se chamasse FOTOdatada. Se é isso, o erro está aí e basta vc trocar $imgdatada por ${img}datada. Onde as chaves servem para limitar o escopo da variável. O que o shell fez foi substituir a sua variável por nulo, pois a variável $imgdatada não estava definida. Se não consegui te ajudar e vc é o China que estou pensando, me ligue até às 15:00h (#21 4861). -- Abração, Julio *Cursos de Shell e Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - Turmas fechadas em outras cidades ligue (21) 8112-9988* 2008/12/19 chinabhz <china.lis...@gmail.com> > Caros; > Tenho uma câmera digital que não tem a função de gravar a data nas > fotos (sic)! > Daí me surgiu a idéia de criar um script que pega a data do arquivo da > foto e a escreve no arquivo. Não tenho conhecimento suficiente para > concluir a tarefa, por isso peço ajuda de vocês. > > O que já consegui: > 1) Usando o ls+awk consegui ler a pasta onde estão as fotos e retornar > apenas a data e hora de cada um > ls -lh * | awk {'print $6" "$7'} > > 2) usando o convert, do imagemagik, consegui gravar a data na foto em > UMA foto: > > convert -font helvetica -fill white -stroke black -pointsize 12 -draw > 'text 2200,1900 "datadafoto"' -stroke none -draw 'text 2200,1900 > "datadafoto"' foto.jpg fotodatada.jpg > > O que preciso: que o scritp leia o diretório de fotos e corte apenas a > data e hora e passe como variavel para o convert fazer a datagem de > todas de uma vez, sendo que na linha de comando onde está foto.jpg > ficaria a variável que seria cada data de cada foto. > > Como minha câmera é muito comum, acredito que esse script seja de > interesse geral ... Tem como fazer?? > > O que já fiz e não deu certo foi: > > #!/bin/bash > $fotos="ls -lh * | awk {'print $6" "$7'}" > for img in $fotos; do > convert -font helvetica -fill white -stroke black -pointsize 12 -draw > 'text 2200,1900 "datadafoto"' -stroke none -draw 'text 2200,1900 > "datadafoto"' $img $imgdatada > > > [As partes desta mensagem que não continham texto foram removidas]