从我之前提出的问题中得知,我正在使用一个运行 MP4Box 的脚本,使用 /mnt/usb/Convert/ 中的所有 .h264 文件作为输入,并将每个 .mp4 输出文件放入 /mnt/usb/Converted/ 中。这是该脚本:
for f in /mnt/usb/Convert/*.h264; do
n=${f/Convert/Converted}
MP4Box -add "$f" "${n%.*}.mp4"
done
这个脚本运行完美,只是我忽略了一个事实,即我还需要它能够删除它运行的每个 .h264 文件,否则当我 crontab 脚本时,它会不断重复相同的文件;明显地。
有人对在脚本运行完每个 .h264 文件后附加删除每个 .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