如何使用find命令列出目录及其所有子目录中的所有文件类型?

如何使用find命令列出目录及其所有子目录中的所有文件类型?

如何使用 find 命令递归列出目录中的所有文件扩展名?使用通配符我可以找到某种类型的所有文件:

find . -iname '*.mp3'

但我想要列出搜索目录和所有子目录并列出找到的所有文件扩展名。

答案1

进一步搜索发现了这个解决方案:

find . -type f | awk -F'.' '{print $NF}' | sort| uniq -c | sort -g

不知道为什么这个链接之前的搜索中没有出现。

答案2

这将比您的解决方案更强大:

find . -type f -name '*.*' | awk -F. '{print $NF}' | sort | uniq -c | sort -g

也就是说,由于您正在查找文件名中点后面的部分,因此将该详细信息添加到find.否则,没有扩展名的文件将产生奇怪的结果:可能会打印整个路径,或者如果路径在中间子目录之一中包含点,则将打印最后一个点之后的部分路径。

相关内容