kesmarag Δημοσ. 6 Ιανουαρίου 2013 Share Δημοσ. 6 Ιανουαρίου 2013 # IMageMagick Package Requires # based on # http://www.linuxjournal.com/content/tech-tip-automaticaly-organize-your-photos-date if [ -d /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ ]; then echo "Olympus Ε-410 Camera Detected :)" cd /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ for pfiles in *.JPG do datepath="$(identify -verbose $pfiles | grep DateTimeOri | awk '{print $2}' | sed s%:%_%g)" final_path="/mnt/Raid_1T/Photos/Costas/$(echo $datepath | cut -c 1-7)/" echo $final_path if ! test -e "$final_path"; then mkdir -pv "$final_path" fi echo $pfiles Orf_pfiles="$(echo $pfiles | cut -c 1-8).ORF" echo $Orf_pfiles mv -v $pfiles $final_path mv -v $Orf_pfiles $final_path done elif [ -d /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ ]; then echo "Canon Camera Detected :)" cd /run/media/kesmarag/TRANSCEND/DCIM/102OLYMP/ for pfiles in *.JPG do datepath="$(identify -verbose $pfiles | grep DateTimeOri | awk '{print $2}' | sed s%:%_%g)" final_path="/mnt/Raid_1T/Photos/Irene/$(echo $datepath | cut -c 1-7)/" echo $final_path if ! test -e "$final_path"; then mkdir -pv "$final_path" fi echo $pfiles mv -v $pfiles $final_path done else echo "Not found any known camera!" fi Είναι ένα απλό scriptaki που εγράψα χωρίς να ξέρω bash από τα συφραζόμενα στο link που αναφέρετε. Στόχος μου είναι να κάνω ένα πιο γενικό ώστε να κάνει μόνο του detection για τις γνώστες φωτογραφικές αλλά σίγουρα θα θέλει δουλειά και μάλλον θα σταφώ σε python. Τα αρχεια τα περνά σε dir της μορφης 2013_01 και τα διαγράφει από την camera. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mphxths Δημοσ. 6 Ιανουαρίου 2013 Share Δημοσ. 6 Ιανουαρίου 2013 Δεν ξερω αν δουλευει ή οχι αλλα για να το κανεις πιο "γενικο" προτεινω τα εξης 1. αντι για /run/media/kesmarag/κλπ/κλπ βαλε κατι του στυλ /run/media/`id -u -n`/κλπ/κλπ ...γιατι δεν εχουν ολοι για username το kesmarag (το id -u -n δινει το τρεχον username , πολυ πιθανο να υπαρχουν και αλλοι τροποι να το "παρεις"..αυτος μου ρθε τωρα ) 2. το final path παλι δεν ειναι "γενικο" .Μπορεις να το κανεις π.χ. $ΗΟΜΕ/Photos , που 99% των χρηστων στις 99% των διανομων εχουν τετοιο φακελο.(καλο θα ηταν αν υπαρχει ενας ελεγχος αν υπαρχει αυτος ο φακελος και αν οχι να τον δημιουργει) 3. και παλι ο φακελος που ελεγχει για να αναγνωρισει την καμερα μου φαινεται "οχι γενικος".Προφανως στηριχθηκες στις δικες σου καμερες..που πιθανον να εχουν "trascend" καρτα μνημης...αν εχουν αλλη μαρκα τι γινεται ? 4. και στους δυο ελεγχους , ελεγχεται ο ιδιος φακελος...αν υπαρχει...πως αυτο διαφοροποιει το ειδος της καμερας? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
kesmarag Δημοσ. 6 Ιανουαρίου 2013 Μέλος Share Δημοσ. 6 Ιανουαρίου 2013 Δεν ξερω αν δουλευει ή οχι αλλα για να το κανεις πιο "γενικο" προτεινω τα εξης 1. αντι για /run/media/kesmarag/κλπ/κλπ βαλε κατι του στυλ /run/media/`id -u -n`/κλπ/κλπ ...γιατι δεν εχουν ολοι για username το kesmarag (το id -u -n δινει το τρεχον username , πολυ πιθανο να υπαρχουν και αλλοι τροποι να το "παρεις"..αυτος μου ρθε τωρα ) 2. το final path παλι δεν ειναι "γενικο" .Μπορεις να το κανεις π.χ. $ΗΟΜΕ/Photos , που 99% των χρηστων στις 99% των διανομων εχουν τετοιο φακελο.(καλο θα ηταν αν υπαρχει ενας ελεγχος αν υπαρχει αυτος ο φακελος και αν οχι να τον δημιουργει) 3. και παλι ο φακελος που ελεγχει για να αναγνωρισει την καμερα μου φαινεται "οχι γενικος".Προφανως στηριχθηκες στις δικες σου καμερες..που πιθανον να εχουν "trascend" καρτα μνημης...αν εχουν αλλη μαρκα τι γινεται ? 4. και στους δυο ελεγχους , ελεγχεται ο ιδιος φακελος...αν υπαρχει...πως αυτο διαφοροποιει το ειδος της καμερας? Δουλευει για την e-410 που την έχω δοκιμάσει. Ναι καπως ετσι σκεφτομουν και εγω, το 4 ειναι bug , ξεχασα να αλλαξω το path. Βασικα δεν ξέρω bash μαλλόν θα ξεκινίσω σε python ένα τέτοιο project. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
warlock9_0 Δημοσ. 7 Ιανουαρίου 2013 Share Δημοσ. 7 Ιανουαρίου 2013 ένα παρόμοιο που είχα γράψει παλιά #!/bin/bash IFS=$'\n' copiedfolder=$1 if [ -e "$copiedfolder" ] ; then echo "folder exists" else mkdir -p "$copiedfolder" && echo "folder $copiedfolder does not exist, created" fi folders=`ls -I disk*B -I cdrom* -I windows* /media/` for f in $folders do for files in `find /media/$f -type f ` do #echo $files n=`basename $files` #echo $n if [ -e "$copiedfolder/$n" ] || [ -e "$copiedfolder$n" ] ; then echo "$files exists" else cp "$files" "$copiedfolder" && echo "copied $files" fi done done απλά αντιγράφει στο φάκελο που θα του δώσεις ό,τι αρχείο υπάρχει σε ό,τι γίνει mount αφού του έχεις ορίσει ποια να μην κοιτάει από το media Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα