Re: Najde se dobrá duše, která umí a napíše... (skript-text)

KaCe kace.tuxuser na gmail.com
Pátek Únor 6 16:34:10 CET 2009


Děkuji, děkuji, děkuji....

Je to téměř dokonalé jen to má dvě "mušky":

1.
ta horší - pokud se v souboru jhead.log objeví několi fotografií vytvořených
ve stejný datuma a čas, jejichž nový název je odlišen jen posledním znakem
(písmenem - sice jsem to do prvního postu napsal, ale nepopsal, takže se
omlouvám) - např.

dsc_0703.jpg --> 20080726_154713.jpg
dsc_0704.jpg --> 20080726_154713a.jpg
dsc_0705.jpg --> 20080726_154714.jpg
dsc_0706.jpg --> 20080726_154714a.jpg
dsc_0707.jpg --> 20080726_154721.jpg

tak potom výstup skriptu vypadá takhle:

20080726_154713.jpg|26.7.2008<br>20080726_154714.jpg|26.7.2008<br>20080726_154721.jpg|26.7.2008<br>

tzn., že to názvy souborů "s písmenem" nezpracuje.

2.
menší mušička, která je vidět už na výše uvedeném výpisu - je to sloučeno do
jednoho řádku

Takže, pokud můžu poprosit o úpravu, tak moc prosím...

--
 Karel Cecil
kace na jabber.cz
 mailto:kace.tuxuser na gmail.com

2009/2/6 Jan Krajdl <spm na spamik.cz>

> Je to sice perl, ale to by snad neměl být takový problém :-) pustit v
> adresáři, kde je jhead.log
>
> #!/usr/bin/perl
> open (F, "jhead.log");
> open (O, ">labels.txt");
>
> while (my $line = <F>) {
>  if ($line =~ /.*\-\-\> ([\d]{4})([\d]{2})([\d]{2})_([\d]+).jpg/) {
>    print O "$1$2$3_$4.jpg|" . $3 * 1 . "." . $2 * 1 . ".$1<br>"
>  }
> }
>
>
> SPM
>
> On Friday 06 February 2009 13:24:18 KaCe wrote:
> > Zdravím,
> > pro webové fotoalbum a jeho popis používám textový soubor labels.txt,
> který
> > ke každému obrázku obsahuje jeden řádek s popisem:
> >
> > 20090105_194627.jpg|5.1.2009<br>
> >
> > Před samotným popisem převádím název souboru na formát: YYYYMMDD_HHMMSSx
> > pomocí programu jhead, jehož výstup ukládám do souboru jhead.log, kde pro
> > každý obrázek je výstup ve tvaru:
> >
> > dsc1033.jpg --> 20090105_194627.jpg
> >
> > Soubor jhead.log následně osekám a rozsekám v openOffice Calc a pomocí
> > vzorců přetvořím každý záznam na formát:
> >
> > název_souboru.jpg|datum<br>
> > 20090105_194627.jpg|5.1.2009<br>
> >
> > Vzhledem k tomu, že manželka chce svá fotoalba tvořit sama a tento postup
> > se jí zdá "zdlouhavý", napadlo mě vytvořit celý soubor skriptem, ale jsem
> > na to krátký - sám stvořím jen:
> >
> > jhead -nf%Y%m%d_%H%M%S *.jpg | awk '{ print $3 }' > labels.txt (jen nové
> > názvy obrázků)
> >
> > Najde se tu nějaká dobrá programátorská (BASH?) duše, která mi spíchne
> > skriptík, který by z nového názvu souboru vytáhl datum ve tvaru D.M.RRRR
> > (den a měsíc bez počáteční nuly) a spojil to celé do formátu uvedeného na
> > začátku?
> > Samozřejmě vím, že žádné kuře nehrabe zadarmo, takže akceptuji požadavek
> na
> > odměnu :-)
> >
> > --
> > Karel Cecil
> > kace na jabber.cz
> > mailto:kace.tuxuser na gmail.com
> > _______________________________________________
> > Linux mailing list
> > Linux na linux.cz
> > http://www.linux.cz/mailman/listinfo/linux
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>



Další informace o konferenci Linux