Solusi 1:
/var/cache$ sudo find ./ -type f | grep -E ".*\.[a-zA-Z0-9]*$" | sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/' | sort | uniq -c | sort -n
1 .6
1 .cache
1 .noconf
1 .php
1 .sl
2 .bin
2 .el
2 .tdb
4 .baseA
4 .baseB
4 .dat
4 .DB
27 .db
221 .deb
Berikut penjelasannya:
find ./ -type f
temukan hanya file, bukan direktori
grep -E ".*\.[a-zA-Z0-9]*$"
filter file dengan ekstensi
sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/'
hapus jalur dan nama file, simpan hanya ekstensi
sort | uniq -c | sort -n
urutkan, uniq dan urutkan
Solusi 2:
Karena Anda menggunakan Linux (gnu grep), inilah saat yang tepat untuk menggunakan Perl REs (PCRE) -P
dan -o
grep pilihan. Mengambil jawaban @bindbn sebagai kandidat hebat:
find . -type f | grep -Po '\.([\w\d])*$' | sort | uniq -c | sort -n
Bisakah postfix diatur untuk meneruskan email ke beberapa penerima
Menentukan alamat ip untuk koneksi keluar pada host multi ip