এটা চেষ্টা কর:
for file in file{18..31}.txt
এটি "সিকোয়েন্স এক্সপ্রেশন" হিসাবে পরিচিত এবং এটি বাশের ব্রেস সম্প্রসারণ বৈশিষ্ট্যের অংশ। এটি বাশ 3 এবং 4 এ কাজ করে।
বর্ধিত বৈশিষ্ট্যটি বাশ ৪-তে নতুন You
বাশ 4 এ, আপনি এটি করতে পারেন:
$ for i in {1..6..2}; do echo $i; done
1
3
5
তবে বাশ 3-তে, একই ফলাফল পেতে আপনাকে এটি করতে হবে:
$ for ((i=1; i<=6; i+=2)); do echo $i; done
একই ফর্ম এক এক দ্বারা বৃদ্ধি:
$ for ((i=1; i<=6; i++)); do echo $i; done
সংখ্যার যে কোনওটি ভেরিয়েবল বা এক্সপ্রেশন হতে পারে। যাইহোক, একটি ক্রম প্রকাশে সংখ্যাগুলি ধ্রুব হতে হবে
আপনার ফাইলে সেই ফর্মটি ব্যবহার করে এখানে একটি উদাহরণ দেওয়া হল:
for ((i=18; i<=31; i++))
do
echo "file${i}.txt"
done
বাশ 4-এ সিকোয়েন্স এক্সপ্রেশনগুলির আরেকটি নতুন বৈশিষ্ট্য হল শীর্ষস্থানীয় শূন্যগুলি অন্তর্ভুক্ত করার ক্ষমতা। আপনি যদি সঠিকভাবে বাছাই করা যায় এমন নম্বরযুক্ত ফাইলগুলি তৈরি করতে (এবং ব্যবহার করতে) চান তবে এটি কার্যকর is
বাশ 4 এ:
touch file{001..010}.txt
"file010.txt" এর মাধ্যমে "file001.txt" নামে ফাইল তৈরি করবে। তাদের নাম প্রত্যাশিত ক্রম অনুসারে বাছাই করা হবে। শীর্ষস্থানীয় শূন্যগুলি ছাড়াই "file10.txt" "ফাইল1.txt" এর আগে বাছাই করবে।
ফাইলগুলির সাথে কাজ করতে, আপনি একই শীর্ষস্থানীয় শূন্য সিনট্যাক্স ব্যবহার করতে পারেন:
for file in file{001..010}.txt; do echo "$file"; done
বাশ 3-তে, আপনার যদি শীর্ষস্থানীয় শূন্যগুলির প্রয়োজন হয় তবে আপনাকে নিজের মানটি প্যাড করতে হবে:
for i in {1..10}
do
printf -v i '%03d' $i
echo "file${i}.txt"
done
printf
বিবৃতি বসানো শূন্যগুলি সঙ্গে তোমার মান পূর্বে লিখুন যাতে প্রস্থ 3, উদাহরণস্বরূপ ( "4" "২004" হয়ে)।
সম্পাদনা:
ফাইলের নামগুলিতে ফাঁকা জায়গাগুলি সহজবোধ্য:
$ touch "space name "{008..018..3}" more spaces"
$ ls -l sp*
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000008 more spaces
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000011 more spaces
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000014 more spaces
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000017 more spaces
$ for f in "space name "{008..018..3}" more spaces"; do mv "$f" "${f}.txt"; done
$ ls -l sp*
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000008 more spaces.txt
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000011 more spaces.txt
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000014 more spaces.txt
-rw-r--r-- 1 user group 0 2011-01-22 11:48 space name 000017 more spaces.txt
for
লুপ ব্যবহার করে এমন একটি সমাধান অন্তর্ভুক্ত করতে আমার প্রশ্ন আপডেট করেছি যা এক্সার্গস ব্যবহার করে ফাইলের নামগুলিতে ফাঁকা রাখার অনুমতি দেয়। আপনার কাছে ব্যাশ 4 না থাকলে এটি কাজ করছে বলে মনে হয় 4 আপনার যদি ব্যাশ 4 থাকে তবে অবশ্যই ব্রেস প্রসারিত ব্যবহার করুন! নির্বাচিত উত্তর দেখুন। স্নো চিতাবাঘের বাশ আপগ্রেড করতে লজ্জাজনক প্লাগ