Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Přejmenování fotek podle EXIFu [vyřešeno]  (Přečteno 3477 krát)

Speedved

  • Návštěvník
  • Příspěvků: 74
Přejmenování fotek podle EXIFu [vyřešeno]
« kdy: 16 Září 2006, 20:05:30 »
Rád bych přejmenoval fotky podle informací z EXIFu.
Ve win jsme používal tento formát YYYY-MM-DD-### (### - pořadové číslo fotky v daném dni) a rád bych v tom pokračoval.
Vím že gThumb umí přejmenovat fotky na základě EXIFu, ale nepodařilo se mi jej přinutit k tomuto formátu.
Pod KDE existuje GwenRename a ten by to měl umět. Já ale používám Gnome :(

Linuxfan

  • Aktivní člen
  • *
  • Příspěvků: 216
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #1 kdy: 16 Září 2006, 21:55:10 »
Ja som mal podobny problem a hladal som po celom nete.
Aj na toto forum som pisal: http://forum.ubuntu.cz/viewtopic.php?id=1441
ale nikto mi neporadil, takze som usudil, ze jedine GwenRename dokaze to co chcem.
Intel 2x2,8GHz; 1GB RAM; ATI Radeon X1300; 2xSATA Seagate; Kubuntu 9.04

johniez

  • Návštěvník
  • Příspěvků: 81
    • http://www.johniez.com
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #2 kdy: 16 Září 2006, 23:43:08 »
Kód: [Vybrat]
soubor exif_rename.sh

#!/bin/bash
# rename files from exif info
# required: jhead, sed, grep, dirname, mv
# johniez, http://johniez.com
# init version, no safety controls - backup your data before ;)

PHOTO_COUNT=0
LAST_DATE=0

if [ $# -lt 1 ]; then
        echo "Spatne pouziti, chybi argumenty"
        echo "Usage: $0 file1.jpg file2.jpg .."
        exit 2
fi

for i in $*; do
        NEW_DATE=`jhead "$i" | grep 'File date' | sed -e 's/.*: \(.*\) .*$/\1/' -e 's/:/-/g'`

        if [ "$NEW_DATE" == "$LAST_DATE" ]; then
                PHOTO_COUNT=$((PHOTO_COUNT+1))
        else
                PHOTO_COUNT=1
                LAST_DATE=$NEW_DATE
        fi

        DIR=`dirname "$i"`

        if [ $PHOTO_COUNT -lt 10 ]; then
                 mv "$i" "${DIR}/${NEW_DATE}-00${PHOTO_COUNT}.jpg"
        elif [ $PHOTO_COUNT -lt 100 ]; then
                mv "$i" "${DIR}/${NEW_DATE}-0${PHOTO_COUNT}.jpg"
        else
                mv "$i" "${DIR}/${NEW_DATE}-${PHOTO_COUNT}.jpg"
        fi
done

Speedved

  • Návštěvník
  • Příspěvků: 74
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #3 kdy: 17 Září 2006, 11:33:31 »
Citace: johniez
Kód: [Vybrat]
soubor exif_rename.sh

#!/bin/bash
# rename files from exif info
# required: jhead, sed, grep, dirname, mv
# johniez, http://johniez.com
# init version, no safety controls - backup your data before ;)

PHOTO_COUNT=0
LAST_DATE=0

if [ $# -lt 1 ]; then
        echo "Spatne pouziti, chybi argumenty"
        echo "Usage: $0 file1.jpg file2.jpg .."
        exit 2
fi

for i in $*; do
        NEW_DATE=`jhead "$i" | grep 'File date' | sed -e 's/.*: \(.*\) .*$/\1/' -e 's/:/-/g'`

        if [ "$NEW_DATE" == "$LAST_DATE" ]; then
                PHOTO_COUNT=$((PHOTO_COUNT+1))
        else
                PHOTO_COUNT=1
                LAST_DATE=$NEW_DATE
        fi

        DIR=`dirname "$i"`

        if [ $PHOTO_COUNT -lt 10 ]; then
                 mv "$i" "${DIR}/${NEW_DATE}-00${PHOTO_COUNT}.jpg"
        elif [ $PHOTO_COUNT -lt 100 ]; then
                mv "$i" "${DIR}/${NEW_DATE}-0${PHOTO_COUNT}.jpg"
        else
                mv "$i" "${DIR}/${NEW_DATE}-${PHOTO_COUNT}.jpg"
        fi
done
Dávka přejmenuje pouze soubory které jsou předány v parametru této dávce.
Já bych potřeboval aby se přejmenovali všechny *.jpg v adresáři v kterém je dávka volána.
Pokud mi mnělo toto stačit tak se omlouvám, mám linux pouze chvilku. Byl jsem rád že jsem to nějak rozběh. :)
Byl to můj první dávkovy soubor v linuxu :)

Poraďte mi prosím kam, s jakými právy a případně jak se dávky mají ukládat aby se daly spustit z libovolného adresáře a ne jenom z toho v kterém jsou umístěny.
Článků o bashy jsem našel spoustu. Je v nich ale popisována tvorba kódu, ale tyto informace jsem nějak postrádal. A nebo jsme špatně hledal :)

zigi

  • Aktivní člen
  • *
  • Příspěvků: 389
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #4 kdy: 17 Září 2006, 13:04:40 »
prekopiruj si tenhle soubor do /bin (cp script.sh /bin) a nastav mu prava (chmod 755)

pro vsechny soubory v adresari staci toto: script.sh *.jpg
..:: be free - use kubuntu ::..

Speedved

  • Návštěvník
  • Příspěvků: 74
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #5 kdy: 17 Září 2006, 20:03:58 »
Jo jo jo. :D
Tak to je přesně ono. :)
Přesně to funguje, tak jak má.

pop

  • Návštěvník
  • Příspěvků: 1
Přejmenování fotek podle EXIFu [vyřešeno]
« Odpověď #6 kdy: 25 Dubna 2007, 21:09:19 »
Přejmenovat fotky umí například program PPSee http://pponec.net/ppsee/index_cs.htm ,
který lze spustit přímo zde: http://pponec.net/ppsee/webstart/ppsee.jnlp .

 

Provoz zaštiťuje spolek OpenAlt.