我有一个目录,里面有许多不同格式的图像文件。我想查看该目录中所有不同文件后缀的列表,以便查看存在哪些类型的图像格式。因此,假设只有png
、gif
和jpg
文件,我想要的输出将如下所示:
png
gif
jpg
ls
我知道如何使用和获取所有文件结尾的列表 cut
,但我不知道如何使其仅包含唯一条目。有没有办法只使用 shell 工具来做到这一点,还是我必须编写一个小的 python 脚本或类似脚本?
答案1
$ ls *.* | nawk -F\. '{print $(NF);}' | sort | uniq
如果你想知道每种类型有多少个:
$ ls *.* | nawk -F\. '{print $(NF);}' | sort | uniq -c
答案2
天无绝人之路。
function alsoHidden {
find . -maxdepth 1 -type f -printf '%f\n';
}
$ alsoHidden | sed -E 's/.*\.(.*)/\1/' | sort -u
$ alsoHidden | tr . / | xargs -I% basename % | sort -u
$ alsoHidden | awk -F. ' !a[$NF] { print $NF; a[$NF]++ }'