Conhece o bbips? http://sourceforge.net/projects/bbips
--- Em shell-script@yahoogrupos.com.br, Flavio Junior <bil...@...> escreveu > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Não entendi bem teu for, mas me PARECE errado... > > Se os dados estão na mesma linha, como parecem estar, eu faria: > > for img in *.jpg; do > DT=awk -F: '{print $3$4$5$6$7}' < <(exiftime -td $img) > convert -font helvetica -fill white -stroke black -pointsize 12 > - -draw 'text 2200,1900 "$img" ${DT}datada.jpg > done > > Na real eu pensei em renomear o arquivo com a data.. já nao sei bem se > é isso que tu quer.. > nao entendi esse convert. > > - -- > > Flávio do Carmo Júnior aka waKKu > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (MingW32) > Comment: http://getfiregpg.org > > iEYEARECAAYFAkmDXMAACgkQgyuXjr6dyku7UgCeLsnR2BkqTNx6W4DAIjG84smi > KioAniNF2CFZRkdYdK1+LTJVP2kMWuUb > =L8/F > -----END PGP SIGNATURE----- > > 2009/1/30 china <china.lis...@...>: > > Caros; > > > > Retomando a tarefa depois das férias, e agora mais motivado ainda > > pelas zilhares de fotos tiradas :-) > > > > Matutando sobre a questão, vi que não estava pegando a data da foto, > > mas sim do arquivo, que refletia o timestam de gravação no filesystem. > > Ainda bem que o comando 'cp' preservou as datas de criação no cartão > > de memória, mas não dá para confiar nisso ... > > > > Então descobri o programa 'exiftime', que lê o metadado da foto e > > revela a data em que ela foi tirada, assim fica mais fidedigno :-D > > > > usando o comando 'exiftime -td pessoal/Fotos/*.jpg' ele retorna o seguinte: > > [...] > > pessoal/Fotos/banheiro_012.jpg: > > Image Digitized: 2008:08:10 21:33:55 > > > > pessoal/Fotos/banheiro_013.jpg: > > Image Digitized: 2008:08:10 21:34:04 > > > > pessoal/Fotos/galo.jpg: > > Image Digitized: 2007:09:07 10:44:17 > > [...] > > > > Ou seja, lista todas as fotos e mostra a data e hora de criação. > > > > O que tentei fazer: > > > > for img in $(exiftime -td *.jpg); do > > convert -font helvetica -fill white -stroke black -pointsize 12 > > -draw 'text 2200,1900 "$img"' ${img}datada.jpg > > done > > > > Então retorna o erro como no exemplo: > > > > 'convert: missing an image filename `10:44:17datada.jpg'.' > > > > e não processa nada, apenas criando os arquivos em vazios. Creio que o > > problema está na passagem do nome do arquivo para o convert. > > > > O que acham? Alguém tem uma luz para destara esse nó? > > > > PS: Numa de minhas buscas encontrei diversos softwares que fazem > > gravação de data nas fotos, mas todos proprietários e feitos apenas > > para windowz. O f-spot que vem no Ubuntu lê estes metadados e organiza > > as fotos em pastas justamente pela data de criação, mas não tem a > > opção de gravar a data na foto. > > > > 2008/12/19 chinabhz <china.lis...@...>: > >> 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 > >> > >> > > > > >