उबंटू में एकल कमांड के साथ फोल्डर 00-99 कैसे बनायें?


17

मुझे कई सौ स्थानों पर 00 से 99 (00, 01, 02, 03, आदि ....) से शुरू होने वाले फ़ोल्डर बनाने की आवश्यकता है । वहाँ एक लाइन आदेश है कि मुझे ऐसा करने देगा?

जवाबों:


46

मुल्ज़ का जवाब सही है, लेकिन बहुत से लोग कहते हैं कि गलत बीस्क्यू है seqअधिकांश गोले आपको निम्न कार्य करने देंगे

mkdir {00..99}

हालाँकि, बैश के कुछ पुराने संस्करणों में, 0-9गद्देदार, इसलिए आपको करना होगा

mkdir 0{0..9} {10..99}

9
+1 स्वीकृत उत्तर होना चाहिए IMHO। न केवल इस मुहावरेदार बैश है, यह एक बाहरी कार्यक्रम (जो seq है) का उपयोग करने की आवश्यकता नहीं है।
ट्रोलहॉर्न

1
इस तरह से यह किया जाना चाहिए।
फॉक्सिस

7
निम्नलिखित कार्य भी:> mkdir {0..9} {
0..9

17

ये करेगा?

for i in `seq -w 0 99`; do mkdir $i; done

0-99 के लिए एक लूप करता है, और "-w" बराबर चौड़ाई सेट करता है (0-9 के लिए 0 पैडिंग)


7
seq -w 0 99 | xargs mkdirनौकरी भी करेगा।
Jay

11
आप लूप को खोद सकते हैं और बस कर सकते हैं mkdir $(seq -w 0 99)या इसके बजाय backticks का उपयोग करें $(), लेकिन मैं सर्वरफ़ॉल्ट सिंटैक्स के कारण बैकटिक्स नहीं डाल सकता।
पैट्रिक

@ पैट्रिक: हां, आप कर सकते हैं: mkdir `seq -w 0 99` (मैं अतिरिक्त स्थान से बच नहीं सकता)। यहाँ देखें , लेकिन ऐसा लगता है कि सीमांकक में रिक्त स्थान शामिल करने की चाल यहाँ काम नहीं करती है।
कीथ थॉम्पसन


@ और हां मुझे इस बारे में पता है, लेकिन मैं जो भी जवाब दे रहा हूं उसकी कोडिंग शैली के साथ रहना पसंद करता हूं।
पैट्रिक

2

मुझे पता है कि यह पुराना है, लेकिन मेरी सिफारिश होगी:

में मैं के लिए seq -f %02g 0 99; mkdir $ i; किया हुआ

-f% 02g यह सुनिश्चित करता है कि यह कम से कम दो वर्णों जैसे 00 या 99 में रहता है, और फिर भी 99 से 3 वर्ण संख्याओं की अनुमति देगा, यदि आपके पास 100 है तो यह 001 नहीं बनेगा। यह 001 के बजाय 00-99 100 होगा। 100 जैसे कि -w करता है।

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