源码

#!/bin/zsh
album_dir=/old/blog/themes/liveJQ/source/img/albums/
pics=($(ls $album_dir  |  sort --sort=general-numeric))
printf '['
for ((i=1;i<=${#pics[@]};i++))
do
        printf '{\n'
        printf "\t\t\t\"links\":\"${album_dir##*source}${pics[$i]}\",\n"
        if [ $i -lt 29 ]
        then
            printf "\t\t\t\"title\":\"逝水年华\",\n"
        elif [ $i -lt 45 ]
        then
        printf "\t\t\t\"title\":\"我们的时光\",\n"
        else [ $i -lt 60 ]
            printf "\t\t\t\"title\":\"新的开始\",\n"
        fi
        pic=$album_dir$pics[$i]
        eWidth=$(identify -format %w $pic)
        eHeight=$(identify -format %h $pic)
        tWidth=$((eWidth-10))
        tHeight=$((eHeight-10))
        printf "\t\t\t\"tWidth\":$tWidth,\n"
        printf "\t\t\t\"tHeight\":$tHeight,\n"
        printf "\t\t\t\"eWidth\":$eWidth,\n"
        if [ $i -eq ${#pics[@]} ]
        then
            printf "\t\t\t\"eHeight\":$eHeight\n\t}"
        else
            printf "\t\t\t\"eHeight\":$eHeight\n\t},\n"
        fi
done
printf "]\n"

这里发现一个有意思的地方就是:当使用#!/bin/bash的时候,数组是从0开始的;而使用#!/bin/zsh的时候,数组是从1开始的。

输出

[
        {
            "links":"/img/albums/1.jpeg",
            "title":"逝水年华",
            "tWidth":"1127",
            "tHeight":"630",
            "eWidth":"1137",
            "eHeight":"640"
    },
        {
            "links":"/img/albums/2.jpeg",
            "title":"逝水年华",
            "tWidth":"1127",
            "tHeight":"630",
            "eWidth":"1137",
            "eHeight":"640"
    },
    ...
    ...
    ...
]

使用

  • 使用自带的 bash 运行:
bash ./auto_create_gallery.sh  >  /old/blog/source/_data/gallery.json
  • 使用设置的 zsh 运行:
zsh ./auto_create_gallery.sh  >  /old/blog/source/_data/gallery.json
留言评论
推荐阅读
  • 在Linux命令行中设置代理

    抓狂瞬间回到家之后,家里还没装宽带嘞,手机热点流量又用到限流,环境算是十分“恶劣”的了。又加上apt命令本身就很慢了,更是雪上加霜。看...

    在Linux命令行中设置代理
  • Ubuntu-18.04.3下phpmyadmin4.9的安装及配置

    请注意:下面的安装和配置章节并不完全,需要结合常见错误情况进行充分的安装及配置 安装phpmyadmin下载地址: 官网 软件名...

    Ubuntu-18.04.3下phpmyadmin4.9的安装及配置
  • 全民K歌导出自己的作品无需VIP

    吐槽全民K歌是从高中开始玩的,唱完后可以保存为本地录音,然后在手机存储管理里面可以找到(文件名是随机字符来的)。但是,当你将其发布出去...

    全民K歌导出自己的作品无需VIP