xargs 加 shell 字符串操作与 sed

xargs 加 shell 字符串操作与 sed

我试图递归地总结目录中的文件扩展名。

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

相关内容