Autor |
Sõnum |
daddo
Pingviini kasutaja
Liitunud: 19.07.2005
Postitused: 98
Distributsioon: Ubuntu
|
|
Mure siis järgmine: oman digikaamerat, millega pildistatu arhiveerin üldjuhul kaamera enda poolt loodud kataloogi hierarhias ja failinimedega. Canoni puhul näeb see välja umbes nii:
DCIM
+-- 100EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
+-- 101EOS5D
------ IMG_1234.JPG
------ IMG_1235.JPG
------ IMG_1236.JPG
millest nähtub, et katalooge eristatakse pidevalt muutuva 3-kohalise arvuga ja failinimed on 4-kohalise identifikaatorarvuga, mis tahes tahtmata mingil hetkel hakkab korduma (s.t arhiivi tekib erinevaid, kuid sama nimega faile). Sooviksin jõuda skriptini, mis DCIM kaustas käivitades teeks järgmist:
loeks for tsüklis kõikide kõikide kataloogide nimed (100EOS5D; 101EOS5D; ...), igaühe puhul liiguks neisse sisse ja nimetaks seal olevad failid ümber kujule 1001234.jpg, ehk kataloogi identifikaatornumber ja faili enda vanast nimet pärit number samuti. Seejärel seoses vajaduse puudumisega, sooviks lahti saada üleliigsetest kaustadest, ehk failid tuleks liigutada ühe kataloogi võrra ülespoole, ehk otse DCIM kausta. Minu seisukohast pole oluline, kuidas lõpptulemus saavutatakse, ehk kas faile nimetatakse ümber ja liigutatakse või luuakse kohe vastava nimemustriga koopia DCIM kausta ja seejärel eemaldatakse vastav kaust (100EOS5D; ...) algfailidega...
Ehk lõppresultaadiks oleks:
DCIM
------ 1001234.jpg
------ 1001235.jpg
------ 1001236.jpg
------ 1011234.jpg
------ 1011235.jpg
------ 1011236.jpg
See oleks probleem A, mis vajab lahendust.
Probleem B on see, et samadest fotodest laborist (traditsiooniline foto traditsioonilisel fotopaberil) väljaprinte tellides sooviksin, et ka väljaprindilt oleks tuvastatav foto tegemise kuupäev ja aeg, kuid... ma ei soovi seda lasta kanda fotole endale, sest see rikub minu arvates perealbumi. Ehk minu sooviks on, et foto kuupäev ja aeg kajastuks foto tagaküljel maatriks printeriga trükitud n.ö backprintil. Vaikimisi trükitakse minu kasutatavas laboris sinna failinimi ja nagu järgi uurisin, tarkvara vähemalt kuupäeva lisamist sinna ei võimalda. Seega ongi ainsaks alternatiiviks saada kuupäev (ja ehk ka kellaaeg) EXIF andmetest failinimesse. Ja seega on mu probleemi teiseks pooleks skript, mis nimetaks ümber kõik kataloogis olevad failid, lisades neile nime algusesse konkreetse faili EXIF andmetes oleva kuupäeva kujul PP.KK.AAAA_TT.MM_endinefailinimi.jpg
|
|
|
|
|
|
|
|
tramm
Vana Pingviin
Liitunud: 03.11.2008
Postitused: 900
Distributsioon: *buntu
|
|
Mul juhtumisi oli skript, mis kõik failid DCIM alamkataloogidest kokku korjas ja ümber nimetas. Modifitseerisin seda exif-andmete koukimise ja lisamisega ja tulemus on vikis skriptide kategoorias. Kui täiendad, siis pane lisandused vikisse üles ka, äkki on neist mulle või kellelegi kasu.
|
|
|
|
|
|
|
|
daddo
Pingviini kasutaja
Liitunud: 19.07.2005
Postitused: 98
Distributsioon: Ubuntu
|
|
tramm kirjutas: | Mul juhtumisi oli skript, mis kõik failid DCIM alamkataloogidest kokku korjas ja ümber nimetas. Modifitseerisin seda exif-andmete koukimise ja lisamisega ja tulemus on vikis skriptide kategoorias. Kui täiendad, siis pane lisandused vikisse üles ka, äkki on neist mulle või kellelegi kasu. |
Algus on hea, kuid pean mainima, et 1:1-lle väljastas see skript mulle hetkel:
Tsitaat: | ./345EOS5D/IMG_2294.JPG -> 2010:05:29_14:18:06_./345EOS5D/IMG_2294.JPG
./345EOS5D/IMG_2293.JPG -> 2010:05:29_14:16:24_./345EOS5D/IMG_2293.JPG
|
Ning mv kasu aktiveerimisel
Tsitaat: | mv: ei õnnestu tõsta `./100EOS5D/IMG_2319.JPG' -> `2010:05:29_14:35:50_./100EOS5D/IMG_2319.JPG': No such file or directory
|
|
|
|
|
|
|
|
|
tramm
Vana Pingviin
Liitunud: 03.11.2008
Postitused: 900
Distributsioon: *buntu
|
|
daddo kirjutas: | Algus on hea, kuid pean mainima, et 1:1-lle väljastas see skript mulle hetkel:
|
Eks ma eeldan, et sa saad skripti ise kohandada, muidu oleks juba liiga nagu palgatööga tegemist minu poolt.
Soovitan skripti käivitada väljaspool DCIM kataloogi, sest asendusstring "s/(.*DCIM\/)([[:digit:]]*)([[:alpha:]]*\/IMG_)(.*)/\2\4/" eeldab seda. Teine võimalus on see DCIM osa asendustringist eemaldada, äkki umbes nii "s/(\.\/)([[:digit:]]*)([[:alpha:]]*\/IMG_)(.*)/\2\4/".
Kuidas asendamine käib saad lugeda nt http://www.grymoire.com/Unix/Sed.html ja hetkel on trikk selles, et sulgudega eristatakse avaldise esimeses pooles mustrid, mida avaldise teises pooles asendamisel järjekorranumbriga viidatakse --- ja nii saavutatakse sõne teatud juppide vahelejätmine (st mõned sulud jäetakse lihtsalt viitamata).
|
|
|
|
|
|
|
|
sips
Pingviini aktivist
Liitunud: 20.05.2006
Postitused: 288
Distributsioon: Arch
|
|
Mina kasutan Rapid Photo Downloader'it http://damonlynch.net/rapid/
Lasin sellest läbi ka oma vanad fotod, nüüd kõik pildid ilusti sorditud a-la Fotod/aasta/kuu/YYMMDD-HHmmSS-endinefailinimi.jpg
|
|
|
|
_________________ PS! Vanaisale ei saa Linuxit peale lasta.
|
|
|
|
illukas
Vana Pingviin
Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036
|
|
|
|
daddo
Pingviini kasutaja
Liitunud: 19.07.2005
Postitused: 98
Distributsioon: Ubuntu
|
|
Peale pisikest modifitseerimist sain väljundiks:
Tsitaat: |
./DCIM/345EOS5D/IMG_2294.JPG -> 29.05.10 14:18_3452294.jpg
./DCIM/345EOS5D/IMG_2293.JPG -> 29.05.10 14:16_3452293.jpg
./DCIM/100EOS5D/IMG_2317.JPG -> 29.05.10 14:35_1002317.jpg
|
|
|
|
|
|
|
|
|
|