xargs ist ein Unix-Befehl, der zum Erstellen und Ausführen von Befehlen aus der Standardeingabe verwendet werden kann.
Bedeutung:
Einige Befehle wie grep können Eingaben als Parameter akzeptieren, aber einige Befehle akzeptieren Argumente. Hier kamen xargs ins Spiel.
Syntax des Befehls „xargs“ unter Linux
xargs [options] [command]>
Optionen Verfügbar im Befehl „xargs“ unter Linux
| Optionen | Beschreibung |
|---|---|
| -0 | Eingabeelemente werden durch Nullzeichen statt durch Leerzeichen abgeschlossen |
| -eine Datei | Lesen Sie Elemente aus einer Datei anstelle der Standardeingabe |
| –Trennzeichen = teilen | Eingabeelemente werden durch ein Sonderzeichen abgeschlossen |
| -E eof-str | Setzen Sie die Dateiendezeichenfolge auf eof-str |
| -Ich ersetze-str | Ersetzen Sie Vorkommen von „replace-str“ in den Anfangsargumenten durch Namen, die aus der Standardeingabe gelesen werden |
| -L max-Linien | Verwenden Sie pro Befehlszeile höchstens max. Zeilen nicht leere Eingabezeilen. |
| -P | Fragen Sie den Benutzer, ob er jede Befehlszeile ausführen und eine Zeile vom Terminal lesen soll. |
| -R | Wenn die Standardeingabe keine Nicht-Leerzeichen enthält, führen Sie den Befehl nicht aus |
| -X | Beenden, wenn die Größe überschritten wird. |
| -helfen | Drucken Sie die Zusammenfassung der Optionen in xargs aus und beenden Sie den Vorgang |
| -Ausführung | Drucken Sie die Versionsnummer aus. von xargs und Exit |
Beispiel :

xargs-Beispiel
Unten sehen Sie das C-Programm, das eine Textdatei test.txt liest und dann die Ausgabe dieses Programms als Eingabe für den Touch-Befehl verwendet. Inhalt der Textdatei test.txt
file1 file2 file3 file4>
C
// C program to read contents of file> #include> // Driver Code> int> main(){> >int> c;> >FILE> *file;> >// open file test.txt> >file =>fopen>('test.txt', 'r');> >if> (file) {> >// read file line-by-line until> >// end of file> >while> ((c =>getc>(file)) != EOF)> >putchar>(c);> >fclose>(file);> >}> >return> 0;> }> |
>
>
Ausgabe :
file1 file2 file3 file4>
Verwenden Sie nun die Ausgabe von ./a.out als Eingabe für den Touch-Befehl

xargs-Beispiel mit Touch
Befehlsverwendung mit Optionen:
xargs --version>
Gibt die Versionsnummer des xargs-Befehls aus und beendet den Vorgang.
Ausgabe :
Java mit MySQL verbinden
xargs (GNU findutils) 4.7.0-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.>
xargs -a test.txt>
Der Inhalt der Datei wird angezeigt
file1 file2 file3 file4>
xargs -p -a test.txt>
Die Option -p fordert zur Bestätigung auf, bevor jede Befehlszeile ausgeführt wird. Die Befehlszeile wird nur ausgeführt, wenn die Antwort mit „y“ oder „Y“ beginnt. Ausgabe:
# xargs -p -a test.txt echo file1 file2 file3 file4 ?...y file1 file2 file3 file4 # xargs -p -a test.txt echo file1 file2 file3 file4 ?...n>
xargs -r -a test.txt>
Nehmen wir nun an, die Datei test.txt ist leer und der obige Befehl wird ausgeführt. Die Option -r stellt sicher, dass der Befehl nicht ausgeführt wird, wenn die Standardeingabe leer ist, sodass der obige Befehl keine Ausgabe erzeugt. Wenn jedoch der obige Befehl ausgeführt wird, wird der Befehl nicht ausgeführt Ohne die Option -r wird eine Leerzeile als Ausgabe erzeugt. Siehe Bild unten als Beispiel:

xargs mit der Option -r