10.5 Befehle ausführen: xargs
Wenn find
eine Liste mit Dateien erzeugt, ist es oft nützlich, wenn man in der Lage ist, diese Liste als Argument an einen anderen Befehl zu übergeben. Normalerweise geschieht das mit der Befehlsersetzungsfunktion der Shell, wie in diesem Beispiel für die Suche nach dem Symbol POSIX_OPEN_MAX
in System-Header-Dateien:
$ grep POSIX_OPEN_MAX /dev/null $(find /usr/include -type f | sort)
/usr/include/limits.h:#define _POSIX_OPEN_MAX 16
Immer wenn Sie ein Programm oder einen Befehl schreiben, das bzw. der mit einer Liste von Objekten umgeht, sollten Sie sicherstellen, dass es/er sich angemessen verhält, falls die Liste leer ist. Da grep
die Standardeingabe liest, wenn ihm keine Dateiargumente übergeben werden, gaben wir ...
Get Klassische Shell-Programmierung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.