Saya membaca di sini bahwa Anda dapat menghitung jumlah doa commandmasuk -exec command {} +dengan menyalurkannya | wc -lke akhir.
Walaupun saya mengerti bahwa -execdirini berbeda, dalam hal itu, untuk setiap sub-direktori yang cocok yang findditemukan, ia menjalankan permintaan dari commandsub-direktori yang terkandung di dalamnya, jika saya memiliki lebih dari satu file yang cocok dengan sub-direktori, seharusnya tidak Apakah saya dapat menemukan jumlah invokasi yang sama dengan jumlah sub-direktori yang cocok, dan bukan jumlah invokasi yang cocok dengan jumlah file yang cocok pada sub-direktori tersebut?
Saya berakhir dengan yang terakhir ketika saya menjalankan yang berikut:
$ find . -name "bob*" -execdir echo {} + | wc -l
Halaman manual untuk execdir command {} +menyatakan bahwa yang pertama harus menjadi kasus:
Seperti
-exectindakan,+bentuk perintah-execdirakan membangun baris perintah untuk memproses lebih dari satu file yang cocok, tetapi setiap permintaan yang diberikancommandhanya akan mencantumkan file yang ada di sub-direktori yang sama.
yaitu
Saya mendapatkan:
./file1inDir1
./file2inDir1
./file3InDir2
./file4InDir3
Ketika saya mengharapkan ini, berdasarkan halaman manual:
./file1inDir1 ./file2inDir1
./file3InDir2
./file4InDir3
echodan argumen yang dihasilkan oleh{} +dan Anda tidak memiliki baris baru di nama file Anda (kebanyakan orang tidak) MAKA jumlah baris adalah jumlah doa dan itu berfungsi. Jika perintah dikatakanhead -n 999000 /dev/urandomitu salah besar.