Stranica: 1/2.
[Bash] skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 10:28
Postao/la calisto053
Nemam iskustva s terminalom, tek sam počeo hvatati osnove uz vašu pomoć, a već imam neke ideje...
http://www.linuxzasve.com/naucite-radit ... enom-retku
Pokušavam razvrstati po datumira veći broj slika koje nalaze u nekom folderu, npr. ~/Desktop/slike. To znači sve slike istog datuma u zasebnom folderu (YY-MM-DD). Dosta sam googlao; uglavnom se predlažu programi (F-Spot, Shotwell, DigiKam, Picasa i sl.) koji nude samo pregled.
Zato mi je pala na pamet (naizgled) jednostavna bash skripta - ideju sam dobio ovdje:
http://www.linuxquestions.org/questions ... te-722733/
Stalno negdje grješim u koracima, pa molim pomoć....
Hvala!
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 16:16
Postao/la jjj
Kojim koracima? Stavi kod negdje.
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 18:12
Postao/la calisto053
Pokušavam prilagodit sebi, ali ne ide. Zapinje na jhead (štogod to bilo?)....
Kod: Označi sve
#!/bin/bash
#
#
Location="~/Desktop/fotografije/"
Destination="~/Desktop/fotografije/"
echo
echo
############
# rename all image files in $Location
jhead -n%Y/%m/%d/%f *.jpg
###########
# Sort files into folders using $CharFromName letters of the file name
#
ls $Destination | while read file; do
# extract first $CharFromName characters from filename
FolderDate=${file:0:$CharFromName}
# create directory if it does not exist
test -d $Destination/$FolderDate || mkdir $Destination/$FolderDate
# move the current file to the destination dir
mv -v $Destination/$file $Destination/$FolderDate/$file
done
##########
# move sorted files into photo library
#mv -v $Destination/* $Destination/
##########
# End notification
echo "End location: $Destination"
echo
read -p "Press enter to close this window…"
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 20:58
Postao/la simke
neznam šta je jhead ali možda ovako radi
jhead -n %Y/%m/%d/%f *.jpg
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 21:05
Postao/la calisto053
cinober je napisao/la:neznam šta je jhead ali možda ovako radi
jhead -n %Y/%m/%d/%f *.jpg
ne radi, sve sam izmjenio...
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 21:08
Postao/la simke
si instalirao jhead
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 21:11
Postao/la calisto053
Rješio! Još sam malo guglao i našao rješenje! Netko je već ranije napravio istu stvar, pa sam copy-paste i malo izmjenio prema komentarima:
http://www.linuxjournal.com/content/tec ... hotos-date
Kod: Označi sve
#!/bin/sh
# Goes through all jpeg files in current directory, grabs date from each
# and sorts them into subdirectories according to the date
# Creates subdirectories corresponding to the dates as necessary.
for fil in * # Also try *.JPG
do
datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2 }' | sed s%:%/%g)"
if ! test -e "$datepath"; then
mkdir -pv "$datepath"
fi
mv -v $fil $datepath
done
Skriptu treba kopirati u folder u kojem se nalaze fotografije i zatim ju pokrenuti. Sve radi, samo treba čekati par sekundi. Slike se razvrstavaju po datumu kada su nastale, a ne kada su modificirane (isprobao!). Jedina je mana što se razvrstavaju samo slike, ali ne i filmovi (avi). Može tu mala pomoć?
Re: bash skripta za razvrstavanje fotografija
Postano: 26 ožu 2012, 21:22
Postao/la simke
kladim se da nisi imap jhead instaliran.
Re: bash skripta za razvrstavanje fotografija
Postano: 27 ožu 2012, 11:17
Postao/la calisto053
Dobro se kladiš!
Instalirao i krenuo opet, ali ne ide.... Sad imam dvije skripte: stara (sa jhead) koja samo stvara brljage:
Kod: Označi sve
#!/bin/bash
#
#
Location="~/Desktop/fotografije/"
CharFromName=4
echo
echo
############
# rename all image files in $Location
# FolderDateDD-HHMMSS.ext
jhead -n%Y/%m/%d/%f *
###########
# Sort files into folders using $CharFromName letters of the file name
#
ls $Location | while read file; do
# extract first $CharFromName characters from filename
FolderDate=${file:0:$CharFromName}
# create directory if it does not exist
test -d $Location/$FolderDate || mkdir $Location/$FolderDate
# move the current file to the destination dir
mv -v $Location/$file $Location/$FolderDate/$file
done
##########
# move sorted files into photo library
#mv -v $Locaion/* $Location/$FolderDate
##########
# End notification
echo
read -p "Press enter to close this window…"
... i nova skripta koja dobro razvrstava fotografije, ali ne razvrstava filmove:
Kod: Označi sve
#!/bin/sh
# Goes through all jpeg files in current directory, grabs original date from each
# and sorts them into subdirectories according to the date
# Creates subdirectories corresponding to the dates as necessary.
for fil in * # Also try *.JPG # # Also try *.AVI
do
datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2 }' | sed s%:%/%g)"
if ! test -e "$datepath"; then
mkdir -pv "$datepath"
fi
mv -v $fil $datepath
done
Re: bash skripta za razvrstavanje fotografija
Postano: 27 ožu 2012, 11:23
Postao/la simke
cinober je napisao/la:neznam šta je jhead ali možda ovako radi
jhead -n %Y/%m/%d/%f *.jpg