Coba ini (tidak yakin apakah ini cara terbaik, tetapi berhasil):
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
Ini berfungsi sebagai berikut:
- Temukan semua file dari folder saat ini
- Mencetak ekstensi file jika ada
- Buat daftar terurut yang unik
Tidak perlu pipa ke sort
, awk bisa melakukan semuanya:
find . -type f | awk -F. '!a[$NF]++{print $NF}'
Versi rekursif:
find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort -u
Jika Anda ingin total (berapa kali ekstensi terlihat):
find . -type f | sed -e 's/.*\.//' | sed -e 's/.*\///' | sort | uniq -c | sort -rn
Non-rekursif (folder tunggal):
for f in *.*; do printf "%s\n" "${f##*.}"; done | sort -u
Saya mendasarkan ini pada posting forum ini, kredit harus masuk ke sana.