
내 스크립트는 단일 파일에 대해 완벽하게 작동하지만 여러 파일을 처리하면 작업 폴더가 너무 일찍 삭제되어 하나의 파일만 처리됩니다. 작업 폴더를 삭제하지 않으면 스크립트가 여러 파일에서 작동합니다. 내 스크립트는 다음과 같습니다.
#!/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
작업 폴더가 제거되기 전에 모든 파일을 처리하고 이동하려면 어떻게 해야 합니까?
답변1
rm 명령을 루프 밖으로 이동해 볼 수 있습니다. 이와 같이:
#!/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