Dengan asumsi Anda hanya menginginkan jumlah file rekursif, bukan direktori dan jenis lainnya, hal seperti ini seharusnya berfungsi:
find . -maxdepth 1 -mindepth 1 -type d | while read dir; do
printf "%-25.25s : " "$dir"
find "$dir" -type f | wc -l
done
Tugas ini sangat memesona saya sehingga saya ingin mencari solusinya sendiri. Bahkan tidak perlu beberapa saat dan MEI menjadi lebih cepat dalam kecepatan eksekusi. Tak perlu dikatakan lagi, upaya Thor banyak membantu saya untuk memahami berbagai hal secara mendetail.
Jadi ini punya saya:
find . -maxdepth 1 -mindepth 1 -type d -exec sh -c 'echo "{} : $(find "{}" -type f | wc -l)" file\(s\)' \;
Itu terlihat sederhana karena suatu alasan, karena jauh lebih kuat daripada yang terlihat. :-)
Namun, jika Anda ingin memasukkan ini ke dalam .bash_aliases
Anda file, itu harus terlihat seperti ini:
alias somealias='find . -maxdepth 1 -mindepth 1 -type d -exec sh -c '\''echo "{} : $(find "{}" -type f | wc -l)" file\(s\)'\'' \;'
Perhatikan penanganan yang sangat rumit dari single bersarang kutipan. Dan tidak, itu tidak mungkin untuk menggunakan tanda kutip ganda untuk sh -c
argumen.
find . -type f | cut -d"/" -f2 | uniq -c
Mencantumkan folder dan file di folder saat ini dengan jumlah file yang ditemukan di bawahnya. IMO cepat dan berguna. (file ditampilkan dengan hitungan 1).