如何判断if语句是否跳过文件但是如果满足某个条件则继续写入下一个文件?

时间:2012-04-19 05:06:17

标签: bash

for f in ~/Desktop/Uploads/*.flv; do
if /usr/local/bin/ffprobe ${f} 2>&1 | egrep 'Stream #0:0.+flv1'; then
<what do I put here for the batch file to skip the file and continue?>
else
if /usr/local/bin/ffprobe ${f} 2>&1 | egrep 'Stream #0:1.+speex'; then
    /usr/local/bin/ffmpeg -i ${f} -vn -acodec libfaac -ab 128k -ar 48000 -async 1 ${f/%.flv/.m4a}
    SPEEX_ADD="-i ${f/%.flv/.m4a}"
    SPEEX_MAP="-map 1:0"
    SPEEX_TRASH="rmtrash ${f/%.flv/.m4a}"
    ~/Desktop/Uploads/ffmpeg/ffmpeg -i ${f} ${SPEEX_ADD} -vcodec copy -acodec copy -map 0:0 ${SPEEX_MAP} ${f/%.flv/.mp4} && rmtrash ${f} && ${SPEEX_TRASH}
else
~/Desktop/Uploads/ffmpeg/ffmpeg -i ${f} -vcodec copy -an ${f/%.flv/.mp4} && rmtrash ${f}
fi
done

我正在使用批处理文件转换视频文件,但我需要帮助。我可以在第三行中放入什么来使批处理文件跳过带有flv1视频的文件但继续下一个文件?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

continue。有关详细信息,请查看bash手册页。

答案 1 :(得分:1)

您可以使用continue关键字。请查看Advanced Bash-Scripting Guide

中的循环控制页面