Você pode usar o argumento -t
em vez de --date
. De man touch
:
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
Agora, você pode obter esse STAMP
da maneira que você está interessado usando o próximo comando:
STAMP=$(stat -c %y f1219486.jpg | \
awk 'BEGIN {FS="[-]|[:]|[ ]|[.]"} {printf "."}' | \
sed -r 's/^/13/g')
Algumas explicações:
-
stat -c %y f1219486.jpg
retornará o horário da última modificação def1219486.jpg
-
awk 'BEGIN {FS="[-]|[:]|[ ]|[.]"} {printf "."}'
alterará a saída do comando anterior neste formato:MMDDhhmm.ss
-
sed -r 's/^/13/g'
adicionará13
(ano atual) na frente deMMDDhhmm.ss
E agora você pode alterar apenas o ano do seu arquivo:
touch -t $STAMP f1219486.jpg