De acordo com meus comentários, eu acho que a lógica do script que você forneceu é falha - especificamente eu não vejo como o sed é capaz de combinar os 2 arquivos de entrada em uma base por linha (eu não acho que funciona maneira que você acha que faz)
Eu criei uma solução alternativa para você -
#! /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
Explicação:
A linha IFS de exportação altera o caractere de separação de arquivo para nova linha - isso significa que os espaços nos arquivos serão tratados corretamente.
A mágica ocorre no loop for LINE - o comando "paste" mescla os 2 arquivos em uma saída separada por uma única guia, que é então processada linha por linha.
F1 e F2 separam as duas partes da entrada em variáveis, que são impressas usando a linha de eco.
Esta saída inteira é capturada em um arquivo chamado generatedscript3 (porque o loop e o eco estão entre colchetes)