blog vipa
mój dzień to 3 filiżanki kawy

blog vipa

PhotoIndex w /bin/sh

Listopad 4th, 2007 . by vip
Nie wiem czy nie ma nic ciekawego do tworzenia indeksów dla zdjęć pod Linuksa, czy ja słabo szukałem. Gthumb mi nie odpowiada (nie umie rekursywnie robić index.htmlki), w digikam nie znalazłem (pewnie dlatego, że nie mam zainstalowanych pluginów żadnych). Anyway, chciałem, żeby wypluło mi "to coś" stronę w HTML z miniaturkami, tak, żebym nagrywając na DVD miał obraz tego, co się na płycie znajduje bez otwierania każdego zdjęcia. Klikać na "Plain Text". [code] #!/bin/sh IFS=" " mkdir -p _thumbs files=`find . -type f | sort` d="" echo "<!-- Piotr Budny, vip@lcm.pl --><html><head><title>PhotoIndex</title></head><body>" > index.html echo "<h1>PhotoIndex; Wygenerowano `date`</h1>" >> index.html for f in $files do if [ "$d" != "`dirname $f`" ] then d=`dirname $f` echo "<br/>" >> index.html echo "<h2>$d</h2>" >> index.html fi echo $f b="_thumbs/`basename $f`" t=`exiv2 $f` convert -scale 160x $f $b echo "<a href='$f'><img src='$b' border='0' title='$t' /></a> " >> index.html done echo "</body></html>" >> index.html [/code]

7 komentarzy to “PhotoIndex w /bin/sh”

  1. duddits Says:

    http://sourceforge.net/projects/shalbum
    Zdarzało mi się używać. Całkiem wygodny i dopracowany
    skrypt. Pure shell (wymaga oczywiście ImageMagick).

  2. Krystian Says:

    Fajne :)
    Tak z czystej ciekawości – po co jest zmienna(?) IFS na początku?

  3. vip Says:

    duddits: jutro popatrzę sobie na ten projekt, a komentarz czekał po prostu na moderację :)
    Krystian: IFS to takie cudo, które mówi o tym w jaki sposób oddzielać parametry. Zauważ, że polecenie find zwróci nazwy plików w osobnych liniach. Jeżeli zostawię defaultowo (IFS=białe znaki) to jeżeli w ścieżce wystąpi spacja, zostanie ona podzielona na tyle pozycji, ile jest białych znaków (w wyniku da to pociachane, niekompletne ścieżki). Ustawiając na znak nowej linii, dostanę tyle parametrów dla fora, ile jest linii.
    Więcej w `man bash`, szukaj IFS.
    Btw, dużo lepiej byłoby odpalać finda oddzielając pozycje znakiem zero i używać xargs do odpalania converta, ale ja lubię używać IFS :)

  4. Krystian Says:

    No tak, już kiedyś to czytałem (w man bash), ale jakoś nie skojarzyłem… Dzięki, może tym razem zapamiętam.

  5. duddits Says:

    vip: o ja głupia … :) Tyle techniki to człowiek gubi się w końcu!

    Zdrowia!

  6. Andrzej Dopierała Says:

    hm.. ja używam igal ;)
    Też ładnie działa

  7. vip Says:

    Andrzej Dopierała » niestety nie umie rekursywnie się kręcić ;)

Leave a Reply