[linux-l] Re: find(1) mit und ohne xargs(1)

Mike Dornberger Mike.Dornberger at gmx.de
Mi Okt 12 00:09:54 CEST 2005


Hi

On Tue, Oct 11, 2005 at 12:35:23PM +0200, Oliver Bandel wrote:
> On Tue, Oct 11, 2005 at 10:18:37AM +0200, Volker Grabsch wrote:
> > Dennoch, da hast du recht, wäre es viel effizienter, wenn das
> > aufgerufende Programm die Dateien nicht per Parameter, sondern
> > auch per Pipeline entgegennehmen kann. Viele Tools haben bereits eine
> > solche Option, mit der man eine Datei angeben kan, in der die Input-
> > Dateien aufgelistet sind. Bzw. statt dieser Listen-Datei gibt man
> > halt "-" ein, und schon wird diese von Stdin, also aus der Pipe
> 
> ööööhhh... war das nicht "--"?

nein, das ist bei den meisten GNU-Programmen (bzw. denen die getopt_long(3)
benutzen) "Ende der Optionen". Mit dem rm aus den coreutils der FSF kannst
du so z. B. eine Datei Namens -rf löschen:

$ rm -- -rf

(Ja, ich weiß daß das auch mit rm ./-rf geht.)

Anderes Beispiel: startx-Implementation aus XFree 4.3.0.dfsg.1-14sarge1
(Debian/Sarge). Alles vor -- geht an xinit, alles nach -- geht an X

$ startx -- -dpi 100

Das -- ist u. U. auch deshalb da, da die GNU-Implementation von getopt argv
permutiert (kann man abschalten; s. man-page).

Grüße,
 Mike



Mehr Informationen über die Mailingliste linux-l