使用bash处理100K图像文件

时间:2014-06-13 23:55:43

标签: bash shell hashtable

这是优化jpg图像的脚本:https://github.com/kormoc/imgopt/blob/master/imgopt

有一个带有图像文件的CMS(不是我的)。 我假设有一个复杂的子目录和脚本结构只是递归地找到给定文件夹中的所有img文件。 问题是如何在下次运行时标记已处理的文件 脚本不会碰它们而只是跳过? 我不知道这些人什么时候想要添加新文件并进行处理。另外我认为重命名也不是一个好选择。

我正在考虑将在txt文件中填充的散列表或关联数组 开始。但是在bash中有100K的项目数组是否可以?对于脚本来说似乎很复杂。

欢迎任何有关优化的其他想法。

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法就是为每个处理过的图像文件输出一个名称相似的文件。

例如,处理后image1.jpg会有一个类似名称的空文件,例如.image1.jpg.processed

然后,当您的脚本运行时,只检查当前图像是否为NAME.EXT,如果文件.NAME.EXT.processed存在。如果文件不存在,那么您知道它需要被处理。没有内存问题,也没有需要哈希表,你将拥有100K空的额外文件。