উবুন্টুতে একটি একক কমান্ড দিয়ে কীভাবে ফোল্ডারগুলি 00-99 করবেন?


17

আমার বেশ কয়েকটি শত জায়গায় 00 থেকে 99 (00, 01, 02, 03, ইত্যাদি ....) ফোল্ডার তৈরি করতে হবে । একটি একক লাইন কমান্ড আছে যে আমাকে এটি করতে দেয়?

উত্তর:


46

মুলাজের উত্তরটি সঠিক, তবে অনেক লোকই বলেছিলেন seqযে খারাপ বীচুস হল বেশিরভাগ শেল আপনাকে নিম্নলিখিতটি করতে দেয়

mkdir {00..99}

তবে 0-9ব্যাশের কিছু পুরানো সংস্করণগুলিতে প্যাডযুক্ত নয়, আপনাকে করতে হবে

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

9
+1 স্বীকৃত উত্তর আইএমএইচও হওয়া উচিত। কেবল এই মূর্তিমান বাশই নয়, এর জন্য কোনও বাহ্যিক প্রোগ্রাম (যা সেক হয়) ব্যবহার করার প্রয়োজন নেই।
ট্রোলহর্ন

1
এই কাজ করা উচিত কিভাবে হয়।
ফক্সিস

7
নিম্নলিখিতগুলিও কাজ করে:>
এমকিডির

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কাজ করতে হবে।
জে

11
আপনি লুপটি খাঁজতে পারেন এবং করতে পারেন mkdir $(seq -w 0 99)বা এর পরিবর্তে ব্যাকটিক্স ব্যবহার করুন $(), তবে সার্ভারফ্রোল্ট সিনট্যাক্সের কারণে আমি ব্যাকটিক্স রাখতে পারি না।
প্যাট্রিক

@ পেট্রিক: হ্যাঁ, আপনি পারবেন: mkdir `seq -w 0 99` (আমি অতিরিক্ত জায়গা এড়াতে পারিনি)। এখানে দেখুন , তবে দেখে মনে হচ্ছে এখানে ডিলিমিটারগুলিতে স্থান অন্তর্ভুক্ত করার কৌশলটি এখানে কাজ করে না।
কিথ থম্পসন

2
@ পেট্রিক ব্যাকটিকস খারাপ: mywiki.wooledge.org/BashFAQ/082
অ্যান্ড্রু

@ অ্যান্ড্রু হ্যাঁ আমি এটি সম্পর্কে অবগত, তবে আমি যা জবাব দিচ্ছি তার কোডিং স্টাইলে থাকতে পছন্দ করি।
প্যাট্রিক

2

আমি জানি এটি পুরানো, তবে আমার সুপারিশটি হ'ল:

আমি ভিতরে seq -f %02g 0 99; mkdir $ i; সম্পন্ন

-f% 02g নিশ্চিত করে যে এটি কমপক্ষে দুটি অক্ষর যেমন 00 বা 99 অবধি থাকবে, এবং এখনও 99 টির আগে 3 টি চরিত্রের সংখ্যা মঞ্জুর করবে সুতরাং আপনার যদি 100 থাকে তবে এটি 001 হয়ে যাবে না It এটি 001- এর পরিবর্তে 00-99 100 হবে 100-যেমন-ডু।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.