Para o mesmo caso de juntar fotos e vídeos de uma mesma viagem, é preciso colocar ordem nas suas recordações. Resumindo em 3 etapas o que este script faz, temos:
- renomear de maiúscula para minúscula
- mostrar a data original para cada foto e vídeo através do exiftool
- renomear usando 2 dígitos para numerar (01.jpg, 02.jpg, ..., 10.mpg, ..., 99.jpg)
#/bin/bash
for M in *.JPG
  do
   m=$(echo $M | tr A-Z a-z)
   mv -v $M $m
  done
for M in *.THM
  do
   m=$(echo $M | tr A-Z a-z)
   mv -v $M $m
  done
for M in *.MPG
  do
   m=$(echo $M | tr A-Z a-z)
   mv -v $M $m
  done
ls -1 *.jpg *.thm | {
  while read arq; do
  ano=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 18-21`
  mes=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 22-23`
  dia=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 24-25`
  hora=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 26-27`
  min=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 28-29`
  seg=`exiftool "$arq" | grep Original | sed 's/://g' | sed 's/ //g' | cut -c 30-31`
  echo "$arq" $ano$mes$dia$hora$min$seg
  done
} | tee -a fotos.txt
cat fotos.txt | awk '{printf "%s %4s\n",$2,$1}' | sort -n > fotos2.txt
total=`ls *.jpg *.thm | wc -l`
echo *********************
echo Handling $total files
echo *********************
sleep 400
for i in `seq 9`
  do
  arq=`head -n $i fotos2.txt | tail -n 1 | cut -c 25-`
  if [ "$arq" = jpg ]
   then
    foto=`head -n $i fotos2.txt | tail -n 1 | cut -c 16-23`
    mv -v "$foto".jpg "0$i.jpg"
  fi
  if [ "$arq" = thm ]
   then
    video=`head -n $i fotos2.txt | tail -n 1 | cut -c 16-23`
    mv -v "$video".mpg "0$i.mpg"
  fi
  done
for i in `seq 10 1 $total`
  do
   arq=`head -n $i fotos2.txt | tail -n 1 | cut -c 25-`
   if [ "$arq" = jpg ]
    then
     foto=`head -n $i fotos2.txt | tail -n 1 | cut -c 16-23`
     mv -v "$foto".jpg "$i.jpg"
   fi
   if [ "$arq" = thm ]
    then
     video=`head -n $i fotos2.txt | tail -n 1 | cut -c 16-23`
     mv -v "$video".mpg "$i.mpg"
   fi
  done
   Script indicado para quem quer organizar rigorosamente a sequência dos acontecimentos tanto em fotos como em vídeos.
   Adicionalmente, esta é uma ideia para mostrar o poder do BASH para organizar de acordo com os seus critérios.
Nenhum comentário:
Postar um comentário