[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