Yanıtlar:
portably:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
Dizinleri ve dosyaları ayrı ayrı listelemek istiyorsanız (çıktıyı sıralayarak birleştirebilirsiniz):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
GNU bulması ile Shawn J. Goff'un cevabına bakınız .
Bir terminale çıkış yapmasanız bile yazdırılamayan karakterlerin karıştırılmasını riske atmak istiyorsanız, ddeimeke'nin cevabına bakın .
Zsh: içinde print -rl -- **/*(DM)
( D
nokta dosyalarını dahil M
etmek , /
sonradan dizin eklemek için )
find . \( -type d -printf "%p/\n" , -type f -print \)
Bu, dizin adlarını biçimlendirmek için printf komutunu ve geri kalanı için standart baskıyı kullanır.
-printf
GNU bulmaya özgü olduğunu unutmayın .
find
bireyin pozisyonel argümanlar böyle gelişmiş çıktı işlemlerine izin verir. Bununla birlikte, virgül etrafındaki boşluklar olmadan işe yaramayacağını unutmayın.
find . -type d -printf '%p/\n' -or -print
Olabilir
find . -print0 | xargs -0 ls -Fd
bir seçenektir.
Solaris kılavuz sayfasından:
-F Dizinleri sondaki eğik çizgi (/) ile işaretler, arkadan büyük işareti (>) olan kapılar, sondaki yıldız işaretli yürütülebilir dosyalar (*), sondaki dikey çubuklu FIFO'lar (|), sondaki sembolik bağlantılar " "sign (@) ve AF_UNIX adres ailesi soketlerini izleyen eşittir işaretine (=) sahip. İşlenen olarak adlandırılan simgeleri takip eder.