Saya ingin mencari jumlah total jumlah file di bawah folder dan semua sub foldernya.
command-line
find
topless
sumber
sumber
find . -type f -ls | wc -l
find . -type f -print0 | tr -d -c '\0' | wc -c
find . -type f -printf . | wc -c
- Saya mengadopsi cetakan untuk solusi saya, bukan gema -exec saya.Gunakan
tree
perintah. Anda mungkin perlu menginstaltree
paket.Ini akan mencantumkan semua file dan folder di bawah folder yang diberikan dan daftar ringkasan di akhir.
sumber
Untuk menghitung file (bahkan file tanpa ekstensi) di root direktori saat ini, gunakan:
Untuk menghitung file (bahkan file tanpa ekstensi) secara rekursif dari akar direktori saat ini, gunakan:
sumber
Cara tercepat dan termudah adalah menggunakan
tree
. Kecepatannya dibatasi oleh terminal output Anda, jadi jika Anda mengirim hasilnyatail -1
, Anda akan mendapatkan hasilnya segera. Anda juga dapat mengontrol ke level direktori apa yang Anda sukai hasilnya, menggunakan-L
opsi. Untuk keluaran berwarna, gunakan-C
. Sebagai contoh:Jika belum ada di sana, Anda bisa mendapatkannya di sini .
sumber
Jangan hitung garis keluaran find, karena nama file, yang berisi 99 baris baru, akan dihitung sebagai 100 file.
sumber
Gunakan perintah ini untuk setiap folder di jalur
sumber
menemukan tampaknya lebih cepat daripada pohon jadi saya gunakan di bawah ini untuk menghitung file di setiap direktori direktori kerja saat ini (mengabaikan file dalam CWD) dengan memungkinkan direktori memiliki spasi:
ls -d */ | while read dir_line do echo -n "$dir_line :" find "$dir_line" -type f | wc -l done
sumber
ls
adalah ide yang sangat buruk.Anda dapat gunakan
find . | wc -l
find .
akan mencantumkan semua file dan folder dan isinya mulai dari folder Anda saat ini.wc -l
menghitung hasil pencariansumber
Saya akan menggunakan opsi ini sendiri:
sumber