`Mkdir -p` के साथ फ़ोल्डर संरचना बनाने के लिए घुंघराले कोष्ठक (ब्रेसिज़) का उपयोग करना


16

जैसा कि man mkdirबताता है

   -p, --parents
          no error if existing, make parent directories as needed

जब मैंने इस कमांड को चलाया

mkdir -p work/{F1,F2,F3}/{temp1,temp2}

यह इस तरह एक फ़ोल्डर संरचना बनाता है workफ़ोल्डर तो माता-पिता F1, F2, F3बच्चे फोल्डर और temp1और temp2बच्चे फ़ोल्डरों तीन मूल फ़ोल्डर के तहत F1, F2, F3

   work
     -F1
       -temp1
       -temp2
     -F2
       -temp1
       -temp2
     -F3
       -temp1
       -temp2

अब समस्या यह है कि मैं बनाना चाहता हूँ temp1, temp2फ़ोल्डर्स केवल के तहत F1नहीं है F2और F3, लेकिन मैं उलझन में हूँ कि मैं कैसे मैं चाहता हूँ करने के लिए एक कमांड लिख सकते हैं।


@ कालेब: क्षमा करें, मुझे पता नहीं था कि हम दोनों एक ही समय में संपादन कर रहे थे, ऐसा लगता है कि संशोधन विलय एसई द्वारा लागू नहीं किया गया है: - /
स्टीफन जिमेनेज़

@ स्टीफन: कोई चिंता नहीं। मैंने बहुत सारे संपादन किए हैं और यह बहुत ही दुर्लभ है कि दो प्रमुख संपादन इस तरह से मिल जाएँ। योगदान के लिए धन्यवाद!
कालेब

जवाबों:


25

शायद यह वही है जो आप ढूंढ रहे हैं?

 mkdir -p work/{F1/{temp1,temp2},F2,F3}

अरे, मैं हाल ही में सोच रहा था कि क्या चीजें इतनी सरल हो सकती हैं। धन्यवाद!
rozcietrzewiacz

2

ब्रेस विस्तार का एक बहुत अच्छा विवरण (उदाहरण के साथ) Brace Expansionबैश मैनुअल के उप-भाग पर पाया जा सकता है ( man bash, /खोज शुरू करने और खोजने के लिए दबाएं Brace Expansion)।


धन्यवाद, आपके जवाब ने मुझे इस महान मार्गदर्शक तक पहुँचाया! बस यह जानने की जरूरत है कि इसे "ब्रेस एक्सपेंशन" कहा जाता है, इसलिए मुझे पता था कि Google क्या है। linuxcommand.org/lc3_lts0080.php अंश: "शायद अजीब विस्तार ब्रेस विस्तार कहा जाता है इसके साथ, आप एक पैटर्न ब्रेसिज़ युक्त से कई पाठ स्ट्रिंग्स बना सकते हैं यहाँ एक उदाहरण है:।। [me@linuxbox me]$ echo Front-{A,B,C}-Back Front-A-Back Front-B-Back Front-C-Back"
रॉक ली

0
mkdir -p work/F{1..3} work/F1/temp{1,2}

workनिम्न स्तर की निर्देशिकाओं को बनाने से पहले यह पहली बार बनाता है और तीन उपनिर्देशिकाएँ work/F1। इसे पढ़ना और समझना आसान है।

या, अगर आपको पूरी तरह से सब कुछ एक राक्षस अभिव्यक्ति में संयोजित करने की आवश्यकता है (ऐसा करने के लिए बिल्कुल कोई ज़रूरत नहीं है क्योंकि इसे पढ़ना और बनाए रखना मुश्किल है):

mkdir -p work/F{1/temp{1,2},2,3}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.