खोज…


टिप्पणियों

बैश संदर्भ मैनुअल: ब्रेस विस्तार

माह और वर्ष के अनुसार समूह फ़ाइलों के लिए निर्देशिका बनाएँ

$ mkdir 20{09..11}-{01..12}

ls कमांड दर्ज करने से पता चलेगा कि निम्नलिखित निर्देशिका बनाई गई थी:

2009-01 2009-04 2009-07 2009-10 2010-01 2010-04 2010-07 2010-10 2011-01 2011-04 2011-07 2011-10
2009-02 2009-05 2009-08 2009-11 2010-02 2010-05 2010-08 2010-11 2011-02 2011-05 2011-08 2011-11
2009-03 2009-06 2009-09 2009-12 2010-03 2010-06 2010-09 2010-12 2011-03 2011-06 2011-09 2011-12

उदाहरण में 9 सामने 0 लगाने से यह सुनिश्चित होता है कि संख्याएँ 0 गद्देदार हैं। उदाहरण के लिए, आप कई शून्य के साथ संख्याएँ पैड कर सकते हैं:

$ echo {001..10}
001 002 003 004 005 006 007 008 009 010

Dotfiles का बैकअप बनाएं

$ cp .vimrc{,.bak}

यह कमांड cp .vimrc .vimrc.bak में फैलता है।

फ़ाइल नाम एक्सटेंशन को संशोधित करना

$ mv filename.{jar,zip}

यह mv filename.jar filename.zip में फैलता है।

वेतन वृद्धि का उपयोग करें

$ echo {0..10..2}
0 2 4 6 8 10

वेतन वृद्धि को निर्दिष्ट करने के लिए तीसरा पैरामीटर, {start..end..increment}

वेतन वृद्धि का उपयोग केवल संख्याओं के लिए बाध्य नहीं है

$ for c in {a..z..5}; do echo -n $c; done
afkpuz

सूची बनाने के लिए ब्रेस विस्तार का उपयोग करना

बैश आसानी से अल्फ़ान्यूमेरिक वर्णों से सूची बना सकते हैं।

# list from a to z    
$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
    
# reverse from z to a
$ echo {z..a}
z y x w v u t s r q p o n m l k j i h g f e d c b a

# digits
$ echo {1..20}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    
# with leading zeros
$ echo {01..20}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
    
# reverse digit
$ echo {20..1}
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
   
# reversed with leading zeros
$ echo {20..01}
20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01

# combining multiple braces
$ echo {a..d}{1..3}
a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3

ब्रेस विस्तार बहुत पहला विस्तार है जो होता है, इसलिए इसे किसी अन्य विस्तार के साथ नहीं जोड़ा जा सकता है।

केवल अंकों और अंकों का उपयोग किया जा सकता है।

यह काम नहीं करेगा: echo {$(date +$H)..24}

उप-निर्देशिकाएँ के साथ कई निर्देशिकाएँ बनाएं

mkdir -p toplevel/sublevel_{01..09}/{child1,child2,child3}

यह कहा जाता है फ़ोल्डर एक शीर्ष स्तर बनाएगा toplevel , के अंदर नौ फ़ोल्डरों toplevel नामित sublevel_01 , sublevel_02 , आदि तो फिर अंदर उन sublevels की: child1 , child2 , child3 फोल्डर, आप दे रही है:

toplevel/sublevel_01/child1
toplevel/sublevel_01/child2
toplevel/sublevel_01/child3
toplevel/sublevel_02/child1

और इसी तरह। मुझे यह एक bash कमांड के साथ अपने विशिष्ट उद्देश्यों के लिए कई फ़ोल्डर्स और सब फ़ोल्डर्स बनाने के लिए बहुत उपयोगी लगता है। स्क्रिप्ट को दी गई जानकारी को स्वचालित / पार्स करने में मदद करने के लिए स्थानापन्न चर।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow