Heim > häufiges Problem > xargs-Befehl und Beispiele unter Linux

xargs-Befehl und Beispiele unter Linux

不言
Freigeben: 2019-03-02 16:08:55
Original
2756 Leute haben es durchsucht

xargs ist ein leistungsstarker Linux/Unix-Befehl zum Erstellen und Ausführen von Befehlszeilen aus der Standardeingabe. Es akzeptiert die Ausgabe eines Befehls und übergibt sie als Argument an einen anderen Befehl. xargs übernimmt die durch Leerzeichen oder Zeilenumbrüche getrennte Standardeingabe und führt den Befehl ein- oder mehrmals mit beliebigen Argumenten gefolgt von Elementen aus. Leere Zeilen in der Standardeingabe werden ignoriert.

xargs-Befehl und Beispiele unter Linux

Beispiel

Beispiel 1: Eine große Anzahl von Dateien in einen anderen Ordner kopieren.

Manchmal müssen wir eine lange Liste von Dateien kopieren. In diesem Fall schlägt der Befehl cp mit der Fehlermeldung „Parameterliste zu lang“ fehl. Wir können xargs verwenden, um diese Aufgabe zu erfüllen.

# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/
Nach dem Login kopieren

Beispiel 2: Mehrere Dateien aus einem Ordner löschen.

Manchmal möchten wir eine große Anzahl von Dateien aus einem Ordner löschen. Das folgende Beispiel löscht alle .log-Dateien aus dem Verzeichnis /var/log.

# find /var/www/tmp/ -type f | xargs rm -f
Nach dem Login kopieren

Der obige Befehl kann keine Dateien mit Leerzeichen löschen. Um Leerzeichen im xargs-Befehl zu verarbeiten, ist der folgende Befehl erforderlich.

# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f
Nach dem Login kopieren

Beispiel 3: Zählen Sie die Anzahl der Zeilen in mehreren Dateien.

Das folgende Beispiel zählt die Anzahl der Zeilen für jede .txt-Datei im /opt-Verzeichnis und seinen Unterverzeichnissen

# find /opt -name "*.txt" | xargs wc -l
Nach dem Login kopieren

Um Dateien mit Leerzeichen in ihren Namen zu verarbeiten, müssen Sie dies tun Verwenden Sie den folgenden Befehl.

# find /opt/ -name "*.log" -print0 | xargs -0 wc -l
Nach dem Login kopieren

Beispiel 4: Sichern Sie alle Konfigurationsdateien.

Wenn Sie alle Konfigurationsdateien (Erweiterung .conf) im System sichern möchten, verwenden Sie bitte den folgenden Befehl.

# find / -name "*.conf" |  xargs tar czf  config.tar.gz
# ls -l config.tar.gz
-rw-r--r--. 1 root root 193310 Apr  1 13:26 config.tar.gz
Nach dem Login kopieren

Beispiel 5: Verwendung eines benutzerdefinierten Trennzeichens mit xargs.

Wir können auch den benutzerdefinierten Löscher und den Befehl xargs verwenden. Standardmäßig werden Leerzeichen und neue Zeilen als Trennzeichen verwendet. Verwenden Sie den Parameter -d, um das Trennzeichen zu definieren.

# echo "1,2,3,4,5" | xargs -d, echo
Nach dem Login kopieren

Ausgabe

1 2 3 4 5
Nach dem Login kopieren

Beispiel 6: Verwenden Sie xargs, um die Ausgabe in separaten Zeilen anzuzeigen.

In Beispiel 5 wird die Ausgabe in einer einzelnen Zeile angezeigt. Wir können auch festlegen, dass jede Ausgabe in einer separaten Zeile angezeigt wird.

# echo "1,2,3,4,5" | xargs -d, -L 1 echo
Nach dem Login kopieren

Ausgabe

1
2
3
4
5
Nach dem Login kopieren

Beispiel 7: Behandeln Sie leere Bereiche in Dateinamen oder Pfaden.

Um Leerzeichen in Namen zu verarbeiten, verwenden Sie -print0 mit dem Befehl „find“ und -0 mit dem Befehl „xargs“ als Argumente.

#  find /tmp -print0 | xargs -0 -L 1 echo
Nach dem Login kopieren

Dieser Artikel ist hier zu Ende. Weitere spannende Inhalte finden Sie in anderen verwandten Kolumnen-Tutorials auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonxargs-Befehl und Beispiele unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage