Pārsaukt failus, iekļaujot to nosaukumā attēla uzņemšanas laiku


Gan man, gan manai sievai patīk fotografēt. Ja vien nedodamies ceļojumā, kurā plānots kāds fiziski izaicinošs pārgājiens, parasti līdzi ir arī divas fotokameras. Tā saucamā lielā – Canon 6D, un mazā – Sony NEX F3. Lielo pārsvarā lietoju es, bet mazo – sieva.

Kad ceļojums ir galā, priekšā stāv bilžu apstrādes process – jāpiekoriģē ekspozīcija, jāiztaisno bildes, kas uzņemtas jautākā prātā, kā arī jāizdzēš bildes, kas ne gluži atbilst labas bildes kritērijiem vai arī ir dublikāti vai kādā citā veidā atzītas par nederīgām. No šīm savukārt ir jāatlasa tādas, kuras kādā viesošanās vakarā parādīt ģimenei un draugiem, jo ar daudzajiem simtiem bilžu, kas tiks noglabātas fotoarhīvā, negribas nomocīt ciemiņus. Rezultātā tiek atlasītas 50-100 interesantākās bildes. Daļa no tām ir no vienas kameras, bet daļa – no otras. Tā kā katrai kamerai ir sava numerācijas sistēma un tā sevī neiekļauj attēla uzņemšanas laiku, tad, sakārtojot tās pēc nosaukuma, no sākuma būs visas bildes no vienas kameras, bet pēc tam – no otras. Skatītājiem un arī pašam bilžu rādītājam tas var būt īpaši kaitinoši, jo sanāk, ka visam ceļojumam jāiziet cauri divreiz un stāstījums arī sanāk ļoti saraustīts.

Lai atrisinātu šo problēmu, mēģināju atrast kādu skriptu, kas varētu izvilkt foto uzņemšanas informāciju no EXIF datiem un ievietot to faila nosaukumā. Atradu daudz un dažādus variantus, tomēr tie visi šķita pārāk samežģīti un komplicēti tik vienkāršai operācijai, kā arī lāga nestrādāja uz mana datora, tāpēc izlēmu uzrakstīt šādu skriptu pats. Varbūt arī kādam citam tas noderēs.

for file in *.jpg; do
origDate=$(exiftool -DateTimeOriginal $file);
origDate=${origDate#*:};
origDate=${origDate/# /};
origDate=${origDate// /_};
origDate=${origDate//:/_};
cp $file $origDate$file;
done

Skripts izies cauri visiem JPG failiem tekošajā mapē un izveidos dublikātus visiem failiem ar foto uzņemšanas datumu un laiku faila nosaukuma sākuma daļā. Skriptu var modificēt savām vajadzībām, bet man viņš ir labs tāds, kāds viņš ir.

Skirpts darbojas OS X terminālī un, lai to lietotu, pirms tam nepieciešams uzinstalēt exiftool, kas ļauj izvilkt datuma informāciju no faila.

Protams, lai bildes būtu sakārtotas korekti, nepieciešams, lai abās kamerās arī laiks un datums būtu daudz maz sinhronizēts savā starpā.

comments powered by Disqus