GNU/Linux >> Belajar Linux >  >> Linux

Statistik Rekursif Pada Jenis File Di Direktori?

Saya melakukan pengikisan situs web untuk proyek konversi. Saya ingin melakukan beberapa statistik tentang jenis file di sana — misalnya, 400 .html file, 100 .gif , dll. Apa cara mudah untuk melakukannya? Itu harus rekursif.

Sunting: Dengan skrip yang diposting maxschelpzig, saya mengalami beberapa masalah karena arsitektur situs yang saya gores. Beberapa filenya bernama *.php?blah=blah&foo=bar dengan berbagai argumen, sehingga dianggap unik. Jadi solusinya perlu mempertimbangkan *.php* untuk menjadi semua dari tipe yang sama, sehingga untuk berbicara.

Jawaban yang Diterima:

Anda dapat menggunakan find dan uniq untuk ini, misalnya:

$ find . -type f | sed 's/.*.//' | sort | uniq -c
   16 avi
   29 jpg
  136 mp3
    3 mp4

Penjelasan perintah

  • find mencetak semua nama file secara rekursif
  • sed menghapus dari setiap nama file awalan hingga ekstensi file
  • uniq mengasumsikan input yang diurutkan
    • -c melakukan penghitungan (seperti histogram).

Linux
  1. perintah linux untuk mengosongkan semua file direktori

  2. Cat rekursif semua file menjadi satu file

  3. sys/types.h:Tidak ada file atau direktori tersebut

  1. rsync N file terbaru dalam direktori

  2. Bagaimana cara menghapus semua file dalam direktori kecuali beberapa?

  3. Bagaimana cara mengatur izin file default untuk semua folder/file dalam direktori?

  1. Memindahkan file di Linux tanpa mv

  2. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  3. Rsync, Hanya Sertakan Jenis File Tertentu Tidak Termasuk Beberapa Direktori?