我试图递归地总结目录中的文件扩展名。
find .| xargs -d "\n" -I@ echo "${@##.*}" | sort |uniq -c
但这给了我一系列的空白行。不是我想要的。
我知道:
find . -type f | sed 's/.*\.//' | sort | uniq -c
来自类似的问题,但我很好奇为什么我的公式不起作用。
答案1
您可以对找到的每个文件find
执行。file
find . -exec file -b {} \; |cut -f1|sort|uniq -c
编辑
正如@Ed-Nevile 下面的评论所示,删除cut
提供了 ASCII 文件的更多详细信息。
find . -exec file -b {} \; |sort|uniq -c