Sie können die -exec
Option von verwenden find
. Hier '{}'
wird durch den Dateinamen jeder MP4-Datei ersetzt. Hier werden alle Arten von Dateinamen behandelt, auch solche, die Leerzeichen oder Zeilenumbrüche enthalten. Sie müssen angeben -maxdepth 1
, dass nur das aktuelle Verzeichnis durchsucht werden soll.
find . -iname "*.mp4" -maxdepth 1 -exec mp4box -inter 500 '{}' \;
Ein alternativer, komplizierterer Weg würde das Piping der Ausgabe find
in eine Schleife mit einschließen read
. Hier ist jede Datei durch das NUL
Zeichen begrenzt, und Sie müssen read
die Eingabe für dieses Zeichen aufteilen, was durch erreicht wird -d ''
. Sie müssen auch die Variable in Anführungszeichen setzen "$file"
, damit Leerzeichen oder Globbing-Zeichen im Namen erhalten bleiben.
find . -iname "*.mp4" -maxdepth 1 -print0 | while IFS= read -d '' -r file; do mp4box -inter 500 "$file"; done