如何仅在具有特定创建日期的文件上使用mogrify convert?

请删除我

我正在使用mogrify的gif创建动画convert但是,此刻,我在一个包含数十张图像的文件夹中运行,我只是指示它使用找到的所有图像。但是,我希望它仅使用在特定日期创建的文件。我可以做这样的事情吗?

当前使用的命令:

convert -delay 10 -loop 0 images/* animation.gif

我所有的文件名都是时间戳,所以我也可以指定一个范围,例如:

convert -delay 10 -loop 0 --start="images/147615000.jpg" --end="images/1476162527.jpg" animation.gif

我已经尝试过convert手册页,但是没有运气。这有可能吗?

杰夫·谢勒(Jeff Schaller)

这个小型的Shell脚本将循环遍历当前目录中的每个文件,并将其最后修改的时间戳与startend时间戳构建的范围(此处为10月10日)进行比较。匹配的文件将添加到files阵列中,如果阵列中有任何文件,它将对其进行调用convert如果要至少有两个文件(或更多)-gt 0-gt 1请将调整为

请注意,创建时间通常不保留在文件的(Unix)属性中,因此此方法可能被simple欺骗touch 1476158400.jpg,这会使旧文件显得新。请参阅下面的第二个选项。

#!/usr/bin/env bash

start=$(date +%s -d 'Oct 10 2016')
end=$(date +%s -d 'Oct 11 2016')

files=()
for f in *
do
  d=$(stat -c%Z "$f")
  [[ $d -ge $start ]] && [[ $d -le $end ]] && files+=("$f")
done

[[ ${#files[*]} -gt 0 ]] && convert -delay 10 -loop 0 "${files[*]}" animation.gif

或者,如果文件名本身对创建时间戳进行编码,则可以使用蛮力循环找到它们:

start=$(date +%s -d 'Oct 10 2016')
end=$(date +%s -d 'Oct 11 2016')
files=()
for((i=start;i<=end;i++)); do [[ -f "${i}.jpg" ]] && files+=("${i}.jpg"); done
[[ ${#files[*]} -gt 0 ]] && convert -delay 10 -loop 0 "${files[*]}" animation.gif

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在仅在特定日期创建的HDFS上显示hadoop文件

如何使用dd命令创建具有特定值的文件?

如何仅在具有特定文件名的文件中使用 grep 模式?

使用convert从PDF文件中抓取特定页面?

使用CONVERT检查特定日期,如果日期不存在,则转换失败

在Ubuntu上使用convert调整图像的大小

如何从Convert获取ConvertBack参数?

如何正确创建具有特定格式的日期?

如何创建具有特定日期的动态链接

使用 CONVERT 并提取周数

SQL Server中具有日期数据的int数据类型的CONVERT函数

如何仅获取在具有ls日期之后创建的文件?

如何创建创建具有文件创建日期和时间的新文件的模板文件?

如何删除具有特定日期格式的文件

如何使用wget --convert-links

如何显示在特定日期创建的所有文件?

如何使用.NET创建具有特定扩展名的临时文件?

python datetime convert,日期可能包含空格

如何创建保留具有特定值的列名的文件

循环浏览文件名具有特定日期的文件上的文件夹

如何判断是否已经在pygame.Surface上运行了convert()/ convert_alpha()?

如何使用Shell脚本从特定目录创建指向具有特定扩展名的所有文件的符号链接?

为什么System.Convert具有接受DateTime的ToDateTime?

具有大于255的数字的Convert.ToBase64String()

如何使用“查找”搜索在特定日期创建的文件?

按日期选择个案并使用CONVERT时转换失败

有没有办法在现有变量上使用枕头“ Image.convert()”?

如何仅在Centos / Linux安装上创建具有特定/ dir /访问权限的FTP用户

如何仅在具有Powershell的txt文件的目录中列出具有特定扩展名的文件?