IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Anwendungssoftware - Das Tool "xargs"



Das Tool "xargs"

Das "xargs" Utility zum Aufbau von Commandlines via stdin wird vorgstellt.


Autor: Franz Schaefer (mond)
Datum: 02-05-2002, 07:01:32
Referenzen: man xargs
Schwierigkeit: Anfänger
Ansichten: 4944x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

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 leistungsfähigere Alternative dazu ist das xargs-Tool:

find . -name \*.html | xargs ls -l


Xargs setzt die durch Whitespace (Zeilenumbrüche und Leerzeichen)
getrennten Argumente von stdin als Argumente für den nachfolgenden Befehl ein.


Man kann dem xargs-Tool auch sagen, wieviele Argumente maximal für den
Befehl auf einmal eingesetzt werden sollen. Danach wird ein neuer Befehl
aufgerufen. z.B.:

find . -type d | xargs -n 3 echo

würde 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 Anführungszeichen oder Backspace
geschützt sind. Hier erlaubt 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, Zeilenumbrüche oder Fileende enthalten.

EXERCISES:

* verwende find und xargs um alle Dateien mit der Endung .txt aus deinem
Homeverzeichnis nach einem bestimmten String zu durchsuchen.

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04511
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06248
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0