[ LUGOS-PROG ] gnezdenje narekovajev

Jure Mercun jure.mercun at guest.arnes.si
Mon Jul 23 12:19:23 CEST 2001


On Sun, Jul 22, 2001 at 06:37:18PM +0200, Metod Kozelj wrote:
> > Ce hoces naprimer narediti for zanko s spiskom nekih filov, ki jih moras
> > prej obdelati z basename, ne gre drugace, kot z enim temp file-om. Razen
> > seveda, ce se backquote da gnezditi.
> 
> Ne razumem, v cem je problem. Meni recimo takele zanke prav lepo delujejo:
> 
> for F in `find . -name \*.tif`; do G=`basename $F .tif`.jpg; echo $F $G; done

To ze dela, vendar to ni gnezdenje. Mislim tako kot pri oklepajih, npr: (()()).
Ce to naredis z narekovaji dobis ``````, kar je dvo/tro/...-umno :)
Morda primer v prejsnjem mailu ni bil najboljsi...

Predstavljaj si, da imas nekaj mp3jev, ki jih hoces zmesat in potem zaigrati.

Zaigras jih preprosto:
$ for mp3 in <gora_imen_fileov>; do amp $mp3; done;

Zmesas jih tudi preprosto (verjetno obstaja elegantnejsi nacin, vendar vseeno):
$ for f in `find /usr/local/mp3/ -name \*.mp3`; do echo `dd if=/dev/urandom bs=1 count=4 2>/dev/null | uuencode /dev/stdout | cut -d" " -f4`\|$f; done | sort | cut -d\| -f2

Tu pa je sedaj problem z gnezdenjem - kako spraviti ta drugo klobaso tja, kjer
je sedaj <gora_imen_fileov>? To klobaso bi moral dati v backquote, vendar jih
ima tudi ze sama, zato bi bash narobe razumel - namesto ( ( ) ) bi razumel
( ) ( ). Sklepam, da bi slo s kakimi () ali {} okrog te klobase, vendar mi ne
uspe. {} sploh ne delajo, () pa na pol. ce pozenem samo ( <klobasa> ), potem
dela. Cim pa naredim: "for mp3 in `( <klobasa> )`; do amp $mp3; done" pa ga
moti tisti 2> za preusmeritev stderr.

Aja pri tej klobasi se pojavi drug problem - ce ima ime mp3ja presledke, potem
vzame vsako besedo za svoj mp3 - kako se odpravi to?

> lahko pa tudi
> 
> for F in `find . -name \*.tif | sed 's/\.tif$/.jpg`; do echo $F; done

btw - manjka en ' :)

> Ce *res* rabis vec kot en nivo gnezdenja, se najprej vprasaj, kaj pocnes
> narobe (prosto po Linusu).

Kaj delam narobe? Hmmm... kradem avtorsko glasbo :)

Lp, Jure



More information about the lugos-prog mailing list