
mi secuencia de comandos funciona perfectamente para un solo archivo, pero si proceso varios archivos, elimina mi carpeta de trabajo demasiado pronto y solo se procesa un archivo. Si no elimino la carpeta de trabajo, el script funciona con varios archivos. Aquí está mi guión:
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder
done
¿Cómo puedo procesar y mover todos los archivos antes de eliminar la carpeta de trabajo?
Respuesta1
Puedes intentar sacar los comandos rm del bucle. Como esto:
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
done
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder