the.Legend,謝謝你的腳本。
下面是一些注意事項:
1. `du -m $ZIP_NAME | cut -f 1`
返回1,對於尺寸小於1 MB的文件。
2. INDEX=`echo "$INDEX + 1" | bc
在bash中無法正常工作。
這裏更新腳本,它是在Linux中進行測試:
#!/bin/bash
FILES=`find ./image/`
ZIP_PREFIX='example.com.image'
INDEX='1'
MAX_SIZE='512000' # 512 Mb
for PICT_FILE in $FILES
do
ZIP_NAME=${ZIP_PREFIX}"_"${INDEX}".zip"
ARCH_SIZE=`du -k $ZIP_NAME | cut -f 1`
# echo $ARCH_SIZE
# echo $MAX_SIZE
if [ $ARCH_SIZE -ge $MAX_SIZE ]; then
INDEX=$((INDEX + 1))
fi
ZIP_NAME=${ZIP_PREFIX}"_"${INDEX}".zip"
zip $ZIP_NAME $PICT_FILE
done
結果是:
http://example.com/example.com.image_1.zip [500Mb]
http://example.com/example.com.image_2.zip [500Mb]
http://example.com/example.com.image_3.zip [500Mb]
http://example.com/example.com.image_4.zip [227Mb]