Saya ingin melihat semua ekstensi unik dari file yang terkandung dalam direktori tertentu. Apa perintah untuk melakukan itu di bash?
Orang bisa menggunakan find . -type f
untuk mendapatkan semua file di direktori saat ini, kemudian menghapus ekstensi, dan pipa ke uniq
. Apa cara termudah untuk menghapus ekstensi?
sed: illegal option -- r
-E
sebagai ganti-r
OS X.Bekerja pada OS X, kecuali untuk file tanpa ekstensi. Folder unduhan saya:
Anda mungkin membutuhkannya
sed -r
?Masalah kecil: File tanpa ekstensi mencetak nama mereka. File tersembunyi (seperti
.DS_Store
) mencetak nama mereka tanpa harus memimpin.
.sumber
sort -u
bukannyasort | uniq
. Kurang forking dan penggunaan sumber daya.[]
.Berikut ini solusi lain yang tidak perlu bingung dengan nama file yang mengandung baris baru yang disematkan dan digunakan
sort -uz
untuk mengurutkan ekstensi file yang benar yang mungkin telah menyertakan baris baru juga:sumber
Cara cepat dan mudah diingat untuk menghapus ekstensi adalah dengan mengasumsikan semua nama file memiliki format "name.ext" lalu gunakan:
ini menghitung jumlah ekstensi unik yang ada, misalnya:
sumber
lihat, itu sebabnya saya suka awk:
sumber