我们一直在捕获文件并将其发送到 REST 服务器,并从工具栏将它们保存为 PNG 扩展名,现在有近 50 万个文件。
最近我们发现它们实际上是保存为 base64 流文件而不是 PNG 格式。
我有一个 python 脚本可以转换它们但不是递归的并且不使用通配符。
ImageMagick 说 base64 文件太大(最大 5K),因此无法转换。
IE; /bin/base64-to-png.py <base64_file_name>.png <output_name.png>
目录路径 /mnt/s3/pages/ 其中“pages”有数千个编号的文件夹。
IE; /mnt/s3/pages/100
"pages" subfolders are never more than 1 folder deep.
The files are typically 5540_thumb.png, 5540_snapshot.png and 5540_crop.png
where the 5540 is the capture number.
我需要一个 BASH 脚本包装器以使其在文件夹中重复,将所有原件复制到备份文件(filename.b64)并将通配符作为正确的路径/名称传递给 python 脚本,转换文件并将输出文件保留在相同的相应文件中文件夹然后使用 mogrify 压缩它们。
IE; base64-to-png.sh *_snapshot.b64 *_snapshot.png <compression number>
should
cp <file_name.png> <file_name>.b64
/bin/base64-to-png.py <file_name.png> <file_name.png>
mogrify -quality <compression number> -format png <file_name.png>