Baru-baru ini saya perhatikan bahwa spesifikasi POSIX untuk find jangan sertakan -maxdepth utama.
Bagi mereka yang tidak terbiasa dengannya, tujuan dari -maxdepth utama adalah untuk membatasi berapa banyak level dalam find akan turun. -maxdepth 0 menghasilkan hanya argumen baris perintah sedang diproses; -maxdepth 1 hanya akan menangani hasil secara langsung dalam argumen baris perintah, dll.
Bagaimana saya bisa mendapatkan perilaku yang setara dengan -maxdepth non-POSIX? utama hanya menggunakan opsi dan alat yang ditentukan POSIX?
(Catatan:Tentu saja saya bisa mendapatkan yang setara dengan -maxdepth 0 hanya dengan menggunakan -prune sebagai operan pertama, tetapi itu tidak meluas ke kedalaman lainnya.)
Jawaban yang Diterima:
Anda dapat menggunakan -path untuk mencocokkan kedalaman tertentu dan memangkas di sana. Misal
find . -path '*/*/*' -prune -o -type d -print
akan menjadi maxdepth 1, sebagai * cocok dengan . , */* cocok dengan ./dir1 , dan */*/* cocok dengan ./dir1/dir2 yang dipangkas. Jika Anda menggunakan direktori awal absolut, Anda perlu menambahkan / leading terkemuka ke -path juga.