Meiner Meinung nach ist die Logik des von Ihnen bereitgestellten Skripts fehlerhaft - insbesondere sehe ich nicht, wie sed die 2 Eingabedateien pro Zeile kombinieren kann (ich glaube nicht, dass es so funktioniert, wie Sie denken es tut)
Ich habe eine alternative Lösung für Sie gefunden -
#! /bin/bash export IFS=$'\n' ( for LINE in `paste Temp/files.txt Temp/prefixedfiles.txt` do F1=`echo $LINE | cut -f1` F2=`echo $LINE | cut -f2` echo "ffmpeg -i $F1 -vcodec libx264 -acodec copy -threads 10 -crf 18 $F2" done ) > generatedscript3
Erläuterung:
Die Export-IFS-Zeile ändert das Trennzeichen der Datei in Newline - das bedeutet, dass Leerzeichen in den Dateien korrekt behandelt werden.
Die Magie tritt in der for-LINE-Schleife auf - der Befehl "Einfügen" fügt die beiden Dateien in einer einzigen, durch Tabulatoren getrennten Ausgabe zusammen, die dann zeilenweise verarbeitet wird.
F1 und F2 trennen die beiden Teile der Eingabe in Variablen, die dann über die Echozeile gedruckt werden.
Diese gesamte Ausgabe wird in einer Datei mit dem Namen 'generatedscript3' erfasst (da sich die Schleife und das Echo in Klammern befinden).