Wenn Sie versuchen, die Ausgabe von einem Linux-Befehl an einen anderen weiterzuleiten, können Fehler auftreten, bei denen der Befehl fehlschlägt, weil seine Argumentliste zu lang ist.

Glücklicherweise gibt es auf Linux-Systemen einen Befehl, der Argumente für Befehle richtig formatiert. Es heißt xargs und hier ist, wie man es benutzt.

Warum xargs verwenden?

xargs empfängt die Standardausgabe und formatiert sie so, dass ein anderer Befehl sie empfangen kann. Während viele Linux-Dienstprogramme Standardeingaben akzeptieren, akzeptieren einige nur Argumente als Eingabe.

Diese können fehlschlagen, wenn Sie versuchen, die Standardeingabe auf den Befehl umzuleiten. Einige Befehle akzeptieren immer noch nur eine bestimmte Anzahl von Argumenten und xargs erledigt das für Sie.

So verwenden Sie xargs unter Linux

Sie können xargs so aufrufen:

xargs [Befehl]

xargs verfolgt die Länge der Argumente, die ein Befehl akzeptiert, und formatiert die Standardeingabe, um eine Argumentliste auszugeben, die dem Befehl zur Verfügung gestellt wird. Wenn es das Limit einer Befehlszeile erreicht, wird es

instagram viewer
den Befehl aufrufen wieder mit den restlichen Argumenten.

Xargs in Pipelines verwenden

Die Nützlichkeit von xargs kommt, wenn es in Pipelines verwendet wird. Ein erfundenes Beispiel wäre die Leitung von cat zu echo, einem Befehl, der nur Argumente akzeptiert, keine Standardeingabe.

Katze | Echo

Dies bewirkt, dass Echo alles, was Sie eingeben, in einer Zeile druckt, sobald Sie drücken Strg + D.

xargs wird am häufigsten mit dem find-Befehl verwendet, with der Suchbefehl verwendet, um Dateien aufzulisten, und xargs, die verwendet werden, um die Liste der Dateien auf irgendeine Weise zu verarbeiten.

Die Befehlssyntax find ist schon haarig genug, warum also einen weiteren Befehl hineinbringen? Wenn Sie find's verwenden "-exec" Option wird jedes Mal ein neuer Prozess gestartet, wenn eine Datei im Verzeichnis durchsucht wird. Die Verwendung von xargs ist effizienter.

Möglicherweise möchten Sie Dateien in einem Verzeichnis löschen, die älter als ein bestimmtes Datum sind, z. B. 90 Tage. Dazu würden Sie diese Pipeline verwenden:

finden. -mtime +90 -print | xargs rm

xargs hilft Linux-Befehlen bei der korrekten Verarbeitung von Eingaben

Mit xargs können Sie jetzt sicherstellen, dass Befehle Argumente so annehmen, wie Sie es erwarten. In Kombination mit find können Sie Dateien auf Ihrem Computer schnell verarbeiten.

Die Fähigkeit, Eingaben und Ausgaben in der Shell umzuleiten, ist eine der dauerhaften Stärken von Linux als Ergebnis der Unix-Philosophie. Wenn Sie mehr darüber erfahren möchten, wie die Linux-Eingabe-/Ausgabeumleitung funktioniert, lesen Sie weiter.

Grundlegendes zu Standard-E/A unter Linux

Verbessern Sie Ihren Linux-Befehlszeilen-Workflow, indem Sie mehrere Befehle mithilfe von Standard-I/O zusammenführen.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Linux-Befehle
  • Linux-Bash-Shell
Über den Autor
David Delony (81 veröffentlichte Artikel)

David ist ein freiberuflicher Autor, der im pazifischen Nordwesten lebt, aber ursprünglich aus der Bay Area stammt. Er ist seit seiner Kindheit technikbegeistert. Zu Davids Interessen gehören Lesen, hochwertige Fernsehsendungen und Filme ansehen, Retro-Spiele und das Sammeln von Schallplatten.

Mehr von David Delony

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden