Ich habe Probleme bei der Manipulation von Strings in bash. Ich möchte Erweiterungen neu schreiben.Manipulieren Strings (Dateierweiterungen) in bash mit Suche
Ich habe die folgenden zwei Dateien in einem Verzeichnis Downloads
- Beispiel 001.mkv
- Beispiel 002.mkv
dem Skript unten habe ich immer die gleichen Dateinamen erhalten zurückgegeben ohne. mkv in .mp4 umgeschrieben.
find /Downloads -name \*.mkv -execdir echo $(file={}; echo ${file/mkv/mp4};) \;
ich das verstehe, ist nicht alles, was Sie eine Datei neu formatieren müssen, aber dieses Skript ist Teil eines größeren Skript, das zu FFMPEG geben wird.
Hier ist der vollständige Befehl mit FFMPEG.
find /Downloads -name \*.mkv -execdir ffmpeg -i {} -vcodec copy -acodec copy $(file={}; echo ${file/mkv/mp4};) \;
Ich habe viele der Beispiele aus diesem Post versucht, aber immer noch kein Glück. Ich habe den vollständigen Befehl hinzugefügt, den ich verwende. –
Sie können versuchen, bash -c nach dem Befehl -execdir verwenden, überprüfen Sie meine Antwort unten für ein Beispiel. – dood