उपनिर्देशिका में नहीं उतरने वाले एक निश्चित पत्र के साथ शुरू होने वाली फाइलों के लिए एक लिनक्स डायरेक्टरी लिस्टिंग कैसे प्राप्त करें?


19

मान लीजिए आप एक निर्देशिका में हैं जिसमें कई फाइलें और कई उपनिर्देशिकाएं हैं।

आप "d" अक्षर से शुरू होने वाली सभी फाइलों की निर्देशिका सूची प्राप्त करना चाहते हैं। आप लिखें

ls d*

और जो आपको वापस मिलता है वह ज्यादातर उप-निर्देशिकाओं में फ़ाइलें होती हैं (विशेष रूप से, उपनिर्देशिकाओं की फाइलें जो "डी" से शुरू होती हैं)।

आप अपनी वर्तमान निर्देशिका में केवल फाइलों और निर्देशिका नामों को कैसे सूचीबद्ध करते हैं?

जवाबों:


32

आह, मुझे यह सिर्फ मैन पेज के 6 वें पढ़ने पर मिला। यह "निर्देशिका" पैरामीटर के नाम से नहीं तो समझदार है

ls -d d* 

6
मैन पेज को फिर से पढ़ने और इस उत्तर को लिखने में आपको केवल 29 सेकंड का समय लगा ? यह जल्दी है :-)
बाल्फा

1
इसके अतिरिक्त, ls -dd * / केवल निर्देशिका दिखाएगा।
इन्ना

7
बाल्हा - मैंने प्रश्न प्रस्तुत करने से पहले इसकी खोज की, तब महसूस किया कि अगर मुझे यह पता लगाने में इतना समय लगा, तो मैं भविष्य के खोजकर्ता की मदद कर सकता हूं और q और यहां पोस्ट कर सकता हूं।
dggoldst

3
काफी उचित; इसमें कुछ भी गलत नहीं है
बाल्फा

1
और फिर भी, CppLearner, यह वास्तव में काम करता है। कोशिश करो।
16

10

मेरा मानना ​​है कि एक और दिलचस्प समाधान है,

ls | grep ^d

नियमित अभिव्यक्तियों का लचीलापन प्रदान करता है।


3
और नियमित अभिव्यक्ति की जटिलता! ;-)
क्रिस नावा

1
यह एक दिलचस्प सोल है, और मुझे रेगेक्स का उपयोग करने का विचार पसंद है, हालांकि, यदि आप अतिरिक्त मापदंडों को जोड़ते हैं, तो यह टूट जाएगा। जैसे "ls -l | grep ^ d"
dggoldst

सच है, लेकिन सभी पैरामीटर नहीं। ls -a | grep "^ \" सभी "छिपी" फ़ाइलों को प्रिंट करेगा।
कुएर

अन्य ls flagsइस दृष्टिकोण का उपयोग करते समय काम नहीं करते हैं। जैसे ls -ltr | grep ^dकाम नहीं करता है। जबकि @dggoldst जवाब में सुझाया गया एक है।
हितेश इसरानी

4

खोजो। -maxdepth 1 -name d * -type f

ठीक है, यहाँ खोजने का उपयोग ओवरकिल का एक बालक है। बस एक बालक है।


1
लेकिन इससे मुझे एक विशिष्ट उपयोगकर्ता की सभी प्रत्यक्ष निर्देशिकाओं को सूचीबद्ध करने में मदद मिली find /home/ -maxdepth 1 -type d -user www-data:। तो धन्यवाद, और +1
सिरिल एन।

1

ls -ld: यह उपनिर्देशिकाओं में उतरे बिना, निर्देशिकाओं की सूची देगा।

उदाहरण:

ls -ld Cust*
यह कमांड उन फाइलों और निर्देशिकाओं की एक सूची प्रदान करेगा जो इसके साथ शुरू होती हैं Cust


1
यह अनिवार्य रूप से पाँच वर्षीय स्वीकृत उत्तर के समान है।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.