[linux] Hoe script te maken om creatiemoment van bestand te converteren naar bestandsnaam.

Julien Michielsen julien op michkloo.xs4all.nl
Zo Jun 27 21:18:32 CEST 2010


Mijn fototoestel zet foto's op de SD-kaart met  weinig zeggende namen als 
dsc_nnnn.jpg.  Ik gebruik die SD-kaart in twee camera's (Nikon's D50 en D60), 
en de foto's worden in afzonderlijke mappen van de kaart weggeschreven, 
afhankelijk van de camera die de foto wegschrijft (resp. dcim/100ncd50/ of 
dcim/100ncd60/ voor de 50 of 60.
De bestandsnaam van de foto is afhankelijk van het cameratype (zodat twee 
foto's die ik zojuist op de D60 heb gemaakt de namen dsc_3007.jpg en 
dsc_3008.jpg kunnen heten, terwijl die van gisteravond met de D50 de naam 
dsc_0061.jpg heeft gekregen.
De bestandsgegevens van de geheugenkaart geven wel precies aan wat de 
creatie- volgorde van de foto's is, en wanneer ik de bestanden voorzichtig 
naar schijf kopieer (cp -p) blijven de attributes bewaard. Van de namen weet 
ik dat dsc_0060 voor dsc_0061 is gemaakt, maar meer zegt het niet.  Nu zou ik 
per map graag de bestandsnaam zo kiezen dat die de datum en de tijd waarop de 
foto genomen is weergeeft.  Op het ogenblik moet ik het doen met een 
nietszeggend dsc_3007.jpg.  Voor de organisatie van mijn foto's zou het veel 
makkelijker zijn wanneer ik  dag en tijd waarop de foto was genomen 
(26-12-09. 9u38) uit de naam was te lezen. Deze zou dan f_0912260938.jpg 
kunnen worden.  Die naam heeft een suk meer inhoud heeft dan de dsc_0065.jpg 
waar ik het nu mee moet doen.
En de gegevens zijn er. Voor dat bestand, op de SD-kaart staat bv:
$stat /mnt/c1/dcim/102ncd50/dsc_3007.jpg
Change: 2009-12-26 09:38:46.000000000 +0100
(en nog wat andere, minder bruikbare regels)

Maar al weet ik dat de benodigdheden er zijn, toch weet ik niet hoe dit aan te 
pakken.
Mijn vragen:
1-  Wanneer ik de hele sd-kaart (met de diverse subdirs) naar _een_ bestem- 
mingsdirectory heb gekopieerd, hoe loop ik dan met For door de directory heen 
om voor elk bestand een stat-commando uit te voeren (kan FOR maar niet 
begrepen krijgen ;-( )
2- Hoe oogst ik datum en tijd uit stat om daaruit een bestandsnaam als  
f_0912260938.jpg samen te stellen.

Dank voor de aandacht, en hopelijk dank voor het antwoord
Julien
-- 
Julien Michielsen                   
julien_at_michkloo.xs4all.nl




More information about the Linux mailing list