GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Befehl für jede Datei im aktuellen Verzeichnis ausführen

Vielleicht xargs, das den danach angegebenen Befehl für jede zusätzliche Parameterzeile, die auf stdin empfangen wird, erneut aufruft...

ls -1 $FOLDER | xargs du

Aber warum nicht in diesem Fall...

du *

...? Oder...

for X in *; do
    du $X
done

(Persönlich verwende ich zsh, wo Sie das Glob-Muster ändern können, um nur reguläre Dateien zu finden, oder nur Verzeichnisse, nur Symlinks usw. - ich bin mir ziemlich sicher, dass es in Bash etwas Ähnliches gibt - können Sie nach Details suchen, wenn Sie das brauchen).

Übersehe ich einen Teil Ihrer Anforderung?


Der find Mit command können Sie auch einen Befehl für jedes gefundene Element ausführen. Ohne weitere Argumente findet es alle Dateien und Ordner im aktuellen Verzeichnis, etwa so:

$ find -exec du -h {} \;

Die {} Teil ist die "Variable", in der die Übereinstimmung platziert wird, hier als Argument für du . \; beendet den Befehl.


Linux
  1. 20 wichtige Linux-Befehle für jeden Benutzer

  2. 8 Tipps für die Linux-Kommandozeile

  3. Einen Befehl ausführen, wo eine Datei gefunden wird?

  4. Bz2 jede Datei in einem Verzeichnis

  5. Wozu dient Linux test -a command test?

Linux-dir-Befehl für Anfänger (10 Beispiele)

ls-Befehl in Linux zum Auflisten von Dateien

Das mktemp-Befehls-Tutorial mit Beispielen für Anfänger

Das Grep-Befehls-Tutorial mit Beispielen für Anfänger

Praktische Linux- und Unix-Tee-Befehle für den Linux-Administrator

Exa – Ein moderner Ersatz für den Befehl ls