जवाबों:
portably:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
यदि आप निर्देशिका और फ़ाइलों को अलग से सूचीबद्ध करने के लिए तैयार हैं (आप छँटाई करके आउटपुट को मर्ज कर सकते हैं):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
GNU खोजने के साथ, शॉन जे। गोफ का जवाब देखें ।
यदि आप गैर-मुद्रण योग्य वर्णों को जोखिम में डालने के लिए तैयार हैं, भले ही वे टर्मिनल पर आउटपुट न कर रहे हों, तो ddeimeke का उत्तर देखें ।
Zsh में: print -rl -- **/*(DM)
( D
डॉट फाइल्स को शामिल M
करने के लिए , /
डाइरेक्टरीज़ को जोड़ने के लिए )
find . \( -type d -printf "%p/\n" , -type f -print \)
यह निर्देशिका नामों और बाकी के लिए मानक प्रिंट को प्रिंट करने के लिए प्रिंटफ कमांड का उपयोग करता है।
-printf
GNU खोजने के लिए विशिष्ट है।
find
स्थितिगत तर्क इसे इस तरह से उन्नत आउटपुट करने की अनुमति देते हैं। हालांकि, ध्यान दें कि अल्पविराम के चारों ओर रिक्त स्थान के बिना, यह काम नहीं करेगा।
find . -type d -printf '%p/\n' -or -print
शायद
find . -print0 | xargs -0 ls -Fd
एक विकल्प भी है।
सोलारिस मैन पेज से:
-F निशान निर्देशिका एक अनुगामी स्लैश (/) के साथ, एक अनुगामी अधिक से अधिक चिह्न (>) के साथ दरवाजे, एक अनुगामी तार (*) के साथ निष्पादन योग्य फाइलें, अनुगामी ऊर्ध्वाधर पट्टी (!) के साथ FIFOs, एक अनुगामी के साथ प्रतीकात्मक लिंक "। "साइन (@), और AF_UNIX पते पर परिवार के सॉकेट्स को एक अनुगामी चिह्न (=) के साथ। ऑपरेंड के रूप में नामित सिम्लिंक्स का अनुसरण करता है।