AIX ve Linux'ta find komutuna -prune ve -name ekleme


0

Bir dizindeki bazı dosyaları bulmak için bir find komutu bulmalıyım. Dizinin alt dizinleri ve diğer dizinlere işaret bağlantıları vardır. Aşağıdaki bulma komutunu kullanırsam, sym-linkleri yok sayar:

find $dir/ -name '*.out' -size 0 -mtime +0 

Aşağıdaki sembol linkleri izler:

find -L $dir/ -name '*.out' -size 0 -mtime +0 2

Dizinden belirli öğeleri atlamak için bir yol -pruneve ek -namebayraklar bulmaya çalışıyorum . Hem Linux hem de AIX'de çalışan bir şeye ihtiyacım var.

Denedim bazı komutlar:

find -L . ( -name dest ) -prune -o -name "*.out"
find -L $dir -name *.out ( ! -name "dest" -prune )

Ne denediğini gönderebilir misin -prune?
h3rrmiller

Belgelerini okudun findmu? BTW , AIX sisteminizde GNU findutils'ini derleyebilir ve kullanabilirsiniz
Basile Starynkevitch 14.03.2014

@ h3rrmiller Başarı olmadan denediğim bazı komutlar <br/> find -L. (-name dest) -prune -o -name "* .out" <br/> find -L $ dir -name * .out (! -name "dest" -prune)
Jay

Yanıtlar:


2

Bir "işlem" (benzeri -print) olmadan , findziyaret ettiği her dosyayı basacaktır. Bu davranış, neden find -L . ( -name dest ) -prune -o -name "*.out"hala budamakta olduğunuz dosyaları gösterir. findSağladığınız koşulları değerlendirmeden önce dosyayı ziyaret etmelidir.

-printİşleminizi findkomutunuzun sonuna eklemek, hileyi yapmalıdır.

find -L . -name dest -prune -o -name "*.out" -print
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.