Eu estou jogando com zsh para alterar o tempo de modificação de imagem de acordo com o atributo exif 'Date / Time Original'.
Para isso eu faço um comando:
PDATE=$(exiftool -p '$DateTimeOriginal' $PIC | sed 's/[: ]//g')
touch -t $(echo $PDATE | sed 's/\(..$\)/\.\1/') $PIC
Eu tenho algumas imagens com valor errado 'Data / Hora Original', então essas imagens não foram processadas.
Então, estou trabalhando para obter a data do nome do arquivo de imagens e recebi
for i in `grep -E -o 'IMG\S+jpg' logfile`; do
dte=$(echo $i | grep -E -o '20.{13}' | tr -d '_');
touch -t $dte $i;
done
onde logfile é um arquivo contendo mensagens exiftool de valor de arribução não correto, etc.
Agora o segundo comando do último snippet não está funcionando porque preciso fazer a substituição do sed no primeiro snippet.
A minha pergunta é: enquanto estiver no modo interativo zsh vi, como posso obter o acesso ao primeiro trecho que está no histórico, sem perder o conteúdo do comando atual?
Eu imaginaria editar o comando atual no vi (como eu posso fazer quando eu pressiono o caractere 'v' no modo de controle zsh vi), obtendo o comando histórico listado e escolhendo um deles e ele será colado na linha abaixo.