列出目录中包含的文件的所有唯一扩展名

D R*_*D R 12 unix

我想查看某个目录中包含的所有文件的唯一扩展名。在 bash 中执行此操作的命令是什么?

可以使用find . -type f获取当前目录中的所有文件,然后剥离扩展名,并将其通过管道传输到uniq. 剥离扩展的最简单方法是什么?

Den*_*son 18

尝试这个:

find . -type f | sed -rn 's|.*/[^/]+\.([^/.]+)$|\1|p' | sort -u
Run Code Online (Sandbox Code Playgroud)

它不输出任何内容:

  • 没有扩展名的文件
  • 名称以点结尾的文件
  • 隐藏文件

将其通过管道传输到sort | uniq -c.

  • @celil:在 OS X 上使用 `-E` 代替 `-r`。 (9认同)