Saya membaca di sini bahwa Anda dapat menghitung jumlah doa command
masuk -exec command {} +
dengan menyalurkannya | wc -l
ke akhir.
Walaupun saya mengerti bahwa -execdir
ini berbeda, dalam hal itu, untuk setiap sub-direktori yang cocok yang find
ditemukan, ia menjalankan permintaan dari command
sub-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
-exec
tindakan,+
bentuk perintah-execdir
akan membangun baris perintah untuk memproses lebih dari satu file yang cocok, tetapi setiap permintaan yang diberikancommand
hanya 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
echo
dan 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/urandom
itu salah besar.