[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Richtig Quoten



Hallo Andre!

Andre Tann schrieb am Mittwoch, den 09. Mai 2012:

> Christian Brabandt, Mittwoch 09 Mai 2012: 
> 
> > > Laß find es selber umbenennen:
> > > find . -iname "*.csv.txt" -exec sh -c 'for i; do mv -i "$i"
> > > "${i%.csv.txt}.txt"; done' sh {}
> > 
> > Hoppala, da fehlt noch das finale + am Ende.
> 
> Hm, das funktioniert in der Tat (auch ohne finales + übrigens). Aber nun
> würde mich interessieren, was der Unterschied ist zu meiner Version. Du
> führst doch letztlich auch nur eine Shell aus, in der eine Schleife
> läuft, und wo in $i der Dateiname steht.

Es ist portabel, robust (sollte mit allen ekligen Dateinamen 
funktionieren) und vermeidet xargs.

> Das abschließende sh {} weiß ich jetzt auch nicht recht zu
> interpretieren.

Du startest eine Shell und übergibst Ihr einen Namen ($0) und alle 
Argumente und innerhalb dieser Shell kannst Du dann ganz normal über die 
positional parameters über deine Argumente iterieren. Das {} ist nur ein 
Platzhalter für die Argumente, die find dann übergibt.

Grüße
Christian


Reply to: