find JPG -type f -iname '*.jpg' | wc -l >> PictureCount.md
我正在尝试按扩展名计算图像文件的数量,并将其写入文件(例如列表)。这对我想做的事情不起作用,.md 是空的,运行 .sh 只是挂起
答案1
在 GNU 系统上,要计算每种类型图像文件的数量,依靠实用file
程序来确定类型而不是扩展名,您可以执行以下操作:
(export LC_ALL=C
find . -type f -exec file -0NF '' --mime-type {} + |
sed -nz '1d; s/^ //; s/\n.*//; s|^image/||p' |
sort -z |
uniq -cz |
sort -zrn |
tr '\0' '\n')
这会输出类似的内容:
272 gif
87 x-ms-bmp
84 png
55 jpeg
2 x-xpmi
1 wmf