У меня есть список видео, для которых я хотел бы конвертировать. Чтобы создать список файлов, с которыми мне нужно работать, я использую следующее:
file_list=( $(find . \( \
-name '*.[Mm][Oo][Vv]' -o \
-name '*.[Aa][Vv][Ii]' -o \
-name '*[!-][!h][!v][!c][!1].mp4' \
\) -print) )
task_list=()
for i in "${!file_list[@]}" ; do
m="${file_list[$i]}"
n="${m%.*}-hvc1.mp4"
if [[ ! -f "$n" ]] ; then
task_list+=("$m")
fi
done
Есть ли какой-нибудь способ, которым я мог бы сложить эту логику в find
и получить список файлов за один проход, или я застрял с этим двухпроходным сценарием, где я делаю find
, а затем я должен сделать петля?