निर्देशिका UNIX में सभी फ़ाइलों की सभी सामग्री को सूचीबद्ध करें


1

निर्देशिका में सभी फ़ाइलों-सामग्री को कैसे सूचीबद्ध करें?

की तरह कुछ ls -la | cat

जवाबों:


4

निम्न आदेश का उपयोग करें, पुनरावर्ती:

/ path / to / folder -type f -exec cat {}};

गैर-पुनरावर्ती संस्करण (लोकप्रिय दबाव के कारण):

/ पाथ / टू / फोल्डर -maxdepth 1 -type f -exec cat {}};


1
यह भी उपनिर्देशिका में फिर से आना होगा, सावधान रहें।
जॉन टी

1
दोनों संस्करण अब चालू हैं!
स्टडर

4

निम्नलिखित आदेश:

find ./ -type f -exec cat {} \;

-type fवर्तमान फ़ोल्डर से केवल फ़ाइलें ( ) मिलेगी ./

अध्ययनकर्ता का उत्तर अच्छा है, और निर्देशिकाओं को छोड़कर एक अच्छा विचार है क्योंकि यह यूनियनों के बीच अपरिभाषित व्यवहार है, ग्रेविटी की टिप्पणी पढ़ें। यहाँ दो ज्ञात व्यवहार हैं:

  • catलिनक्स पर (जब निर्देशिका को कैट करने की कोशिश की जा रही हो cat: ./folder: Is a directory) एक एरर मैसेज फेंक देगा )।
  • cat FreeBSD कच्चे डिस्क को डंप करेगा, जैसा कि ऑन-डिस्क में संग्रहीत है।

यदि आपको कमांड के बारे में अधिक जानकारी या इसके बारे में कुछ और जानने की आवश्यकता है, तो कृपया उत्तर दें और मैं आपको अधिक जानकारी दूंगा / आपकी सहायता करेगा।

संपादित करें: के रूप में जॉन टी ने कहा, इस आदेश होगा हर एक उप-निर्देशिका में जाने। यदि आपको वर्तमान निर्देशिका से केवल बिल्ली के बच्चे की जरूरत है -maxdepth 1, तो आपको इस प्रकार की आवश्यकता होगी :

find ./ -maxdepth 1 -type f -exec cat {} \;

-maxdepth nविकल्प भी एक तक सीमित किया जा सकता है nइतने पर उप-निर्देशिका की राशि, 1 वर्तमान निर्देशिका, 2 वर्तमान निर्देशिका और उसके प्रत्यक्ष सन्तान किया जा रहा जा रहा है, और।


1
सिर्फ आपके लिए संपादित करें;)
अध्ययनकर्ता

1
में लिनक्स , catएक त्रुटि संदेश फेंक होगा। उदाहरण के लिए, FreeBSD में, यह कच्ची निर्देशिका टाइप करेगा क्योंकि यह डिस्क पर संग्रहीत है। (बहुत उपयोगी नहीं है।)
विशालता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.