ABSTRACT: das "xargs" utility zum aufbau von commandlines via stdin wird vorgstellt. AUDIENCE: junior admin SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt will man ein kommando mit dem output eines anderen aufbauen so haben wir dazu schon die shell substitution kennengelernt: z.b: ls -l $(find . -name \*.html) eine etwas leistungsfaehiger alternative dazu ist das xargs tool: find . -name \*.html | xargs ls -l xargs setzt die durch whitespace (zeilenumbrueche und leerzeichen) getrennten argumente von stdin als argumente fuer den nachfolgenden befehl ein. man kann dem xargs tool auch sagen wieviel argumente maximal fuer den befehl auf einmal eingesetzt werden sollen. danach wird ein neuer befehl aufgerufen. z.b: find . -type d | xargs -n 3 echo wuerde die namen aller directories ausgeben die "find . -type d" gefunden hat und zwar immer 3 in einer zeile (das echo wird immer mit 3 argumenten aufgerufen) ein problem ergibt sich sobald in den gefundenen namen leerzeichen enthalten sind die nicht mittels anfuehrungszeichen oder backspace geschuetzt sind. hier erluabt GNU xargs dass die eingabedaten nicht durch leerzeichen sondern durch das 0 byte getrennt sind. find hat eine option wie es solche ausgaben produziert. z.b.: find . -type d -print0 | xargs -0 -n 3 echo bei dieser methode kann das kommando auch mit argumenten aufgerufen werden die leerzeichen, zeilenumbrueche oder fileende enthalten. EXERCISES: * verwende find und xargs um alle datein mit der endung .txt aus deinem homeverzeichniss nach einem bestimmten string zu durchsuchen. REFERENCES: man xargs