Som mange nok vet, inneholder de fleste jpeg-bilder informasjon om bildets opprinnelse, slikt som tid, sted, kameramerke osv. Dette kan brukes til å få orden på samlinga etterhvert som den vokser, og du stadig endrer kamera, får tilsendt bilder osv. En god del filmformater har samme mulighet, så du kan godt kaste inn det i samme slengen.

Jeg har lagd et enkelt script i den anledning. fremgangsmåten er enkel:

  1. Legg alle bildene du vil ha sortert inn i en katalog
  2. Kopier scriptet nedenfor inn i ei fil på linuxboxen-din
  3. gjør scriptet kjørbart: chmod 755 bildesortering.sh kjkjk
  4. Gå inn i katalogen hvor du har bildene og kjør scriptet: ~/bildesortering.sh

Alle bildene som har gyldig exif-info skal nå være flyttet inn i kataloger sortert på årstall og måned. For å tilpasse mer, f.eks. med dato i tillegg, for andre filformater etc, så er det bare å forandre litt på scriptet.

#! /bin/bash

# Sorterer bilde/videofiler fra en katalog og legger dem i egne kataloger etter
# måned i exif-dato. For å sortere på dag også, legg til /%d
#
# Ivar Friheim, 03.10.2011
#

# Setter field-separator til noe annet enn space, slik at filnavn med space fanges opp
SAVEIFS=$IFS
IFS=$(echo -en «\n\b»)

# Kommenter ut/inn etter filtype du vil ta
# for fil in `ls *.MOV`
# for fil in `ls *.mp4`
for fil in `ls *.[Jj]Pp][Gg]`
# for fil in `ls *.THM` # brukes som stottefil til AVI. Kommenter ut egen AVI/THM-rutine lengre ned.

do

# Henter exif-dato, tar ut måned og år, og erstatter «:» med «/»
datokatalog=»$(exiftool -CreateDate $fil|awk ‘{print $4}’|cut -d: -f1,2|sed s%:%/%g)»

# Skriver logg til loggfil i katalogen programmet kjoeres fra
echo $fil » – » $datokatalog >> bildelogg.txt

# Sjekker om katalogen finnes
if [ ! -d «$datokatalog» ]; then
echo «Katalogen finnes ikke»
mkdir -p $datokatalog
fi

# Egen AVI/THM-rutine
# avifil=»$(echo $fil | cut -d . -f 1)»
# mv $avifil.AVI $datokatalog

# Flytt fila
mv $fil $datokatalog

done

#Setter fieldseparator tilbake til den opprinnelige
IFS=$SAVEIFS