Мне нужен был скрипт, чтобы взять полноразмерные видео, записанные на мою камеру, перепаковать их, создать сжатую версию, а затем переместить оригинал в другую папку после того, как он был конвертирован. Затем я импортирую сжатые файлы в Lightroom, а не в оригиналы. Это работает хорошо, за исключением того, что я хотел бы переместить исходный файл, только если сжатая копия была успешно создана. Идеи по улучшению этого скрипта приветствуются! Я использую Mac OS X.

#Convert everything in the subdirectories of a directory called "Unprocessed", storing the converted file in the "Processed/Converted" directory, fixing the 420p issue if the file is an AVI files, then move the original to a corresponding subdirectory of "Processed/Completed" for i in Unprocessed/*/*/*.*; 
do o=$i; 
    echo Target is $o; 
    filename=`echo ${o##*/}`;
    echo Filename is $filename;
    tree=`echo $o | cut -d'/' -f2-3`; 
    echo Tree is $tree;
    echo Directory to create is "Processed/Converted/$tree";
    mkdir -p "Processed/Converted/$tree";
    base=`echo ${filename%.*}`;
    echo Base is $base;
    newfile="Processed/Converted/$tree/$base.mp4";
    echo Newfile is $newfile; 
    ffmpeg -i "$i" -map_metadata 0 -pix_fmt yuv420p "${newfile}"; 
    echo Destination to move to is "Processed/Completed/$tree";
    mkdir -p "Processed/Completed/$tree";
    mv "$i" "Processed/Completed/$tree"; 
done;

0