이전 질문에서 나는 /mnt/usb/Convert/의 모든 .h264 파일을 입력으로 사용하고 각 .mp4 출력 파일을 /mnt/usb /Converted/에 넣는 MP4Box를 실행하는 스크립트를 사용하고 있습니다. 스크립트는 다음과 같습니다.
for f in /mnt/usb/Convert/*.h264; do
n=${f/Convert/Converted}
MP4Box -add "$f" "${n%.*}.mp4"
done
이 스크립트는 실행되는 모든 .h264 파일을 삭제할 수 있어야 한다는 사실을 간과했다는 점을 제외하면 완벽하게 실행됩니다. 그렇지 않으면 스크립트를 crontab할 때 동일한 파일이 계속 반복됩니다.
스크립트 실행이 완료된 후 각 .h264 파일을 추가로 삭제하는 방법에 대한 간단한 제안이 있는 사람이 있습니까? 나는 다양한 형태의 파이프와 "&&"를 시도했지만 운이 없었습니다.
감사합니다!
답변1
파일을 삭제하는 명령은 바로 입니다 rm "$f"
. 먼저 변환이 성공적으로 이루어졌는지 확인하려면 다음을 수행하십시오.
for f in /mnt/usb/Convert/*.h264; do
n=${f/Convert/Converted}
if MP4Box -add "$f" "${n%.*}.mp4"; then
rm "$f"
else
printf '%s\n' "Failed to convert $f" >&2
fi
done