If statement 如何从bash中排除大于500 MB的文件?

If statement 如何从bash中排除大于500 MB的文件?,if-statement,ffmpeg,find,If Statement,Ffmpeg,Find,所以我的目标是用ffmpeg转换某个目录中的所有文件,而不是小于500兆字节的文件 到目前为止,我编造的是: #!/bin/bash mkdir converted if [[ $(find -type f -size +500000) ]]; then for i in *.mp4; do ffmpeg -n -i "$i" -f mp4 -c:a aac -c:v libx265 -preset medium -crf 23 "converted/${i%}";done fi 剧本是一种作

所以我的目标是用ffmpeg转换某个目录中的所有文件,而不是小于500兆字节的文件

到目前为止,我编造的是:

#!/bin/bash
mkdir converted
if [[ $(find -type f -size +500000) ]]; then
for i in *.mp4;
do ffmpeg -n -i "$i" -f mp4 -c:a aac -c:v libx265 -preset medium -crf 23 "converted/${i%}";done
fi
剧本是一种作品。ffmpeg开始运行,但它也转换小于大小+500000的MP4。我不擅长编写脚本。我刚刚开始,但我相信我知道错误在哪里。if子句告诉ffmpeg如果目录中的某些文件大于x,就开始运行,但它没有告诉ffmpeg排除这些文件,对吗? 提前谢谢

我做到了

    #!/bin/bash
    mkdir converted
    for var in *.mp4
    do
    FILESIZE=$(stat -c%s "$var")
    if [ "$FILESIZE" -lt 500000000 ]
    then
    echo "$var is smaller than 500MB";
    else
    ffmpeg -n -i "$var" -f mp4 -c:a aac -c:v libx265 -preset medium -crf 23 "converted/${var%}";
    fi
    done