Linux’ta Hafıza Kartından Fotoğrafları İsimlendirerek Kopyalama

Dijital fotoğraf makinemle çektiğim fotoğraflarımı, hafıza kartından bilgisayarıma kopyalamak için kart okuyucumu kullanırım. Program olarak da genellikle gthumb programını kullanıyordum. Fakat bu program gereksinimlerimi tam olarak karşılamıyor malesef 🙁 . Fotoğraflarımı arşivlerken kullandığım düzen öncelikle çekim yılı bazında klasörlere ayırmak oluyor. Daha sonra ise fotoğrafın çekildiği tarihe göre alt klasörler yaratıyorum. Mesela 10 Aralık 2010’da çektiğim fotoğrafları 2010-12-10 klasörüne yerleştiriyorum. Fotoğraf dosyalarını de yeniden adlandırıyorum. Onlara da çekim zamanlarını da içeren isimler veriyorum. Örneğin; 20101210-134423-9087.jpg isimli dosya 10 Aralık 2010 tarihinde saat 13:44:23’te çekilmiş ve makinenin 9087’nolu fotoğrafı imiş. Bazen bu isimin arkasına bir sayı eki geliyor. Çünkü makine üzerinden bazı fotoğrafları işleyip kopyalarını oluşturabiliyorum, bu durumda aynı isimle kaydedilmemeleri için sonu sayı ekleniyor.

Şimdi bütün bu işlemleri elle yapmak pek hoş değil. Aslında fotoğrafları exif bilgilerine göre yeniden adlandıran bazı programlar da mevcut ama ben bu işlemi dosyaları karttan bilgisayara kopyalarken yaptırıyorum. Bunun için basit bir bash scripti kullanıyorum.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
# http://tayfunduran.com
# fotocek.sh
# libimage-exiftool-perl gerekiyor !
# Kullanım: 
# sh fotocek.sh <kaynak klasör> <hedef klasör>
# sh fotocek.sh /media/disk/DCIM /media/dev/foto/2010
# gibi
 
WORKDIR="/tmp/foto"
if [ ! -d "$WORKDIR" ]; then
	mkdir $WORKDIR
fi
cp -Rv $1 $WORKDIR
cd $WORKDIR
exiftool -r -d $2/%Y-%m-%d/%Y%m%d-%H%M%S- '-FileName<$dateTimeOriginal$ShutterCount%-c.%le' $WORKDIR
cd $HOME
rm -rf $WORKDIR
#rm -rf $1/*

Bu scriptin çalışması için bilgisayarınızda exiftool (ubuntu’da libimage-exiftool-perl olarak geçiyor) yüklü olmalıdır. Bu dosyayı oluşturduktan sonra çalıştırılabilir hale getirmeniz gerekiyor.

chmod +x fotocek.sh

En son satırdaki 16. satırdaki rm -rf $1/* komutu devre dışı bırakılmış durumda. Çünkü o satır ile karttaki tüm fotoğrafları siliyorsunuz. Bunu aktarılan dosyaları kontrol ettikten sonra elle yapmak daha sağlıklı bir işlem. Sonra sorumluluk kabul etmem, bilesiniz! $ShutterCount bilgisi makineden makineye değişebilecek bir exif bilgisidir. Sanırım Pentax ve Nikon’da mevcut fakat Canon’da $FileNumber gibi bir şey olabilir. Makinelerin exif bilgilerine buradan ulaşabilirsiniz. %-c ‘yi kullanarak aynı isimli dosyalar olması halinde sonuna sayı eklemesini sağlıyorsunuz. %le ise orjinal dosya uzantısının küçük harfli olarak kullanmamızı sağlıyor.

Aslında buna benzer bir scripti internette bir yerlerde bulmuştum, sonra üzerinde zamanla çalışıp bu hale getirmiştim. Ama şimdi o ilk scripti bulduğum yeri bulamadım, öyle bilinmeyen bir kaynağım da var yani 🙂

Kaynaklar:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir