Sto giocando con zsh per modificare il tempo di modifica dell'immagine in base all'attributo exif 'Data / Ora originale'.
Per questo ho un comando che faccio:
PDATE=$(exiftool -p '$DateTimeOriginal' $PIC | sed 's/[: ]//g')
touch -t $(echo $PDATE | sed 's/\(..$\)/\.\1/') $PIC
Ho ottenuto alcune immagini con valore errato 'Data / Ora originale', quindi queste immagini non sono state elaborate.
Quindi sto lavorando per ottenere la data dal nome del file delle immagini e ho ottenuto
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
dove logfile è un file contenente messaggi exiftool di valore arbitrario non corretto ecc.
Ora il secondo comando snippet non funziona perché ho bisogno di sostituire la sed come nel primo frammento.
La mia domanda è: pur essendo nella modalità interattiva zsh vi, come posso ottenere l'accesso al primo frammento che è nella cronologia, senza perdere il contenuto del comando corrente?
Immagino di dover modificare il comando corrente in vi (come posso farlo quando premo il carattere 'v' nella modalità di controllo zsh vi), ottenendo il comando di cronologia elencato e scegliendo uno di essi e verrà incollato nella riga sottostante.