我有以下linux命令来识别所有.gif文件并在活动目录中列出其框架:
identify -format '%n %i\n' -- *.gif
现在我想修改并扩展命令以完成以下操作: 1.识别超过1帧的.gif文件 2.也查看所有子目录(现在命令只是查看活动目录) 3.命令: a)列出已识别的文件 b)删除已识别的文件
我真的很感谢你们帮助实现这一目标......
提前多多谢谢!!
最佳, 弗洛里安
答案 0 :(得分:1)
你走在正确的道路上。我建议利用find
,sort
和awk
命令生成要删除的文件列表。
find /path/to/directory \
-type f \
-name "*.gif" \
-exec identify -format '%n %i\n' {} \; \
| sort -u \
| awk '$1 > 1 {print $2}'
这是如何运作的
find
将扫描所有子导演以*.gif
结尾的文件,并将结果传递给ImageMagick。
identify
将打印文件名+帧数(您已经在做的事情)
sort -u
将删除重复的项目(uniq
实用程序也可以使用。)awk
应打印第二列(文件名)。 注意:这不会删除文件,而是提供可以检查的列表,并传递给rm
命令