यदि कोई मौजूद नहीं है, तो बिना किसी सूची के निर्देशिका


2

मेरे पास एक निर्देशिका लिस्टिंग के लिए विशेष रूप से सख्त सेट है जो मुझे चाहिए:

  1. यह निर्देशिका को वर्तमान निर्देशिका में सूचीबद्ध करना चाहिए
  2. इसे शुद्ध रूप से बेसन (कोई "./", कोई अनुगामी स्लैश) सूचीबद्ध नहीं करना चाहिए
  3. यदि कोई नहीं है तो यह त्रुटि नहीं होनी चाहिए (और {त्रुटि, प्रिंट}, त्रुटि को प्रिंट नहीं करना चाहिए)
  4. यह बहुत हल्का होना चाहिए
  5. यह tsh के तहत काम करना चाहिए

मुझे कुछ इस तरह से काम मिला है:

find -maxdepth 1 -mindepth 1 -type d -printf '%f\n'

लेकिन मैं यह महसूस करने में मदद नहीं कर सकता कि "खोज" का उपयोग ओवरकिल है। मैंने कुछ करने की कोशिश की ls -d */, लेकिन मैं यह नहीं पता लगा सका कि इसे कैसे त्रुटि नहीं मिलती (या त्रुटि नहीं दिखाई देती)।

कोई सुझाव?


आपको आउटपुट की आवश्यकता कैसे है? ls- शैली या प्रति पंक्ति एक?
डेनिस

यह एक tcsh पूर्णता के लिए है, जो मुझे लगता है कि या तो काम करेगा (मैं मानक निर्देशिका पूर्णता का उपयोग नहीं कर सकता, कारणों से मैं अभी नहीं जाऊंगा)।
spookypeanut

जवाबों:


1

व्यक्तिगत रूप से, मैं कहूंगा कि खोजने की आज्ञा रास्ता है।

ls -dदृष्टिकोण है दो समस्याओं अभी:

  • यह खाली निर्देशिकाओं पर एक त्रुटि दिखाता है।
  • यह ट्रेलिंग स्लैश प्रिंट करता है।

दोनों तय करने योग्य हैं। tr स्लैश का ध्यान रख सकता है, और आपको त्रुटि संदेशों से छुटकारा पाने के लिए पुनर्निर्देशन की आवश्यकता होती है:

( ls -d */ | tr -d / > /dev/tty ) > & /dev/null

अधिक जानकारी के लिए आदमी tcsh देखें ।

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