ls

2011-03-02 11 views
16

के साथ उप-निर्देशिकाओं की सूची मैं ls के साथ उप-निर्देशिका कैसे सूचीबद्ध कर सकता हूं, '-d' के साथ केवल वर्तमान निर्देशिका दिखायी जाती है। मुझे कुछ चाहिए जैसे find . -type d -maxdepth 1 मुझे दे देगा।ls

+1

शायद आप चाहते थे: एक आसान उर्फ ​​ में

ls -l | grep '^d' | awk '{ print $9 }' 

आप इस बना सकते हैं:

ls -l | grep '^d' 

सिर्फ फ़ाइल नाम प्राप्त करने के लिए लिखने के लिए: 'ढूंढें। टाइप करें- maxdepth 1' ('-maxdepth' के लिए' '' 'के साथ नहीं। –

+0

धन्यवाद, इसे बदल दिया :-) – Bernhard

उत्तर

26

यह मदद करनी चाहिए:

ls -d */

*/ केवल वर्तमान dir के तहत निर्देशिका से मेल खाएगी। आउटपुट निर्देशिका नामों में शायद पिछला '/' होगा।

+4

इसके बारे में pedantic होने के लिए, आपको' ls -d। */*/'या' shopt करना चाहिए -एस डॉटग्लोब; ls -d। */', अन्यथा डॉट (' .') से शुरू होने वाली निर्देशिका सूचीबद्ध नहीं की जाएगी। –

6

ls -d */ और ls -d */*/ ठीक काम करने लगते हैं।

3

आप ग्रेप के साथ गठबंधन कर सकते हैं:

alias ldir="ls -l | grep '^d'" 
+2

यदि आप पहले से ही 'awk'' का उपयोग कर रहे हैं, तो 'grep' अधूरा है: 'ls -l | अजीब '/^डी/{प्रिंट $ 9}' ' –

संबंधित मुद्दे