**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答复。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
两年前关闭。
社区在12天前审查了是否重新打开此问题,并将其关闭:
原始关闭原因未解决
Improve this question
在这个庞大的档案中有许多类型的图形图像,如.jpg,.gif,.png等。我不知道所有的类型。有没有一种方法可以让'find'列出所有的图形图像,而不管它们的点扩展名是什么?谢谢!
6条答案
按热度按时间r1zhe5dt1#
这个应该可以了
示例输出:
bkkx9g8r2#
以下更适合我,因为在我的情况下,我想把这个文件列表管道到另一个程序。
如果你想把图片涂上焦油(就像有人在评论中问的那样)
第一个链接使用以下命令:find、file和awk。第二行添加tar。最好的办法是查阅本地手册页以了解特定系统的行为。
eufgjt7s3#
应该会更好
k10s72fa4#
Grepping或使用awk只为“图像”不会这样做。PSD文件将通过带有大写字母“I”的“Image”来标识,因此我们需要改进regexp,使其不区分大小写或包含大写字母I。EPS文件将不包含单词“图像”在所有,所以我们还需要匹配“EPS”或“后记”,这取决于你想要什么。以下是我的改进版本:
yftpprvb5#
更新(2022-03-03)
这是一个改进的版本,有以下变化:
1.删除
xargs
。:
based on 林果皞's comment.下面是与所选答案相比性能更高的解决方案:
1.使用
-type f
而不是-name '*'
,因为前者只搜索文件,而后者搜索文件和目录。xargs
使用尽可能多的参数执行file
,这与find -exec file {} \;
相比是超级快的,find -exec file {} \;
对每个找到的参数执行file
。grep -F
更快,因为我们只想匹配固定的字符串。cut
比awk
快(我记得快了5倍多)。nzk0hqpo6#
关于同样的问题,我刚刚发布了一个名为photofind(https://github.com/trimap/photofind)的工具。它的行为类似于普通的find-command,但它专门用于图像文件,并支持基于存储在图像文件中的EXIF信息过滤结果。查看链接github-repo了解更多细节。