-depth
Birincil find
bir derinlik ilk arama yapmak neden olur.
Ancak, varsayılan dizisidir değil bir genişlik öncelikli arama.
Varsayılan sıra, gayri resmi olarak " geri izleme sırasında bunu yapmak yerine ilk karşılaştıklarında düğümleri işleyen önce derinlikli çapraz geçiş" olarak tanımlanabilir .
İlk önce geniş bir aramaya ihtiyacım var. find
Bu şekilde nasıl davranabilirim?
Aşağıdaki kurulum ile gösterim amacıyla:
$ mkdir -p alpha/{bravo,charlie,delta}
$ touch alpha/charlie/{alpha,beta,gamma,phi}
find
aşağıdaki varsayılan davranışa sahiptir:
$ find alpha
alpha
alpha/charlie
alpha/charlie/alpha
alpha/charlie/phi
alpha/charlie/beta
alpha/charlie/gamma
alpha/delta
alpha/bravo
ve -depth
şu şekilde çalışır:
$ find alpha -depth
alpha/charlie/alpha
alpha/charlie/phi
alpha/charlie/beta
alpha/charlie/gamma
alpha/charlie
alpha/delta
alpha/bravo
alpha
Ancak, istediğim şu (hayali) seçeneği:
$ find alpha -bfs
alpha
alpha/charlie
alpha/delta
alpha/bravo
alpha/charlie/alpha
alpha/charlie/phi
alpha/charlie/beta
alpha/charlie/gamma
Başka bir deyişle , devam etmeden önce belirli bir derinlikte tüm dosyaları / dizinleri işlemem find
/ raporlamam gerekiyor .
Bunu nasıl yapabilirim?
-bfs
olmayacağını anladım ... GitLab Wiki'ye dahil etmek için uygun büyük bir GitLab projesine bir dizin oluşturan basit bir senaryom var. Üstbilgileri hiyerarşik olarak dizin adlarına göre yapar. Bu büyük çalışır, koyardı Yukarıdaki örnek dosya yapısında olduğunu hariç delta
altında charlie
yerine ebeveyn altında, alt başlığındaki alpha
başlığındaki.
find
çıkış edilir alfabetik olarak sıralanmış. Hiçbir fikrim neden ....
-bfs
olabileceğini düşünüyorum .
find
(en azından sadece ile değilfind
). Yalnızca dosyaları listelemek mi istiyorsunuz, yoksa diğer primerleri kullanmak mı istiyorsunuz?