উত্তর:
আসুন অনুমান করুন আপনার ক্রমিক সংখ্যাযুক্ত ডিরেক্টরি রয়েছে: ' dirnameN '
কোথায় ' N 'সংখ্যা।
আপনি সর্বোচ্চ নম্বর (প্যারেন্ট ডিরেক্টরি থেকে) খুঁজে পেতে পারেন,
find . -type d -name dirname\* | sed 's|dirname||' | sort -n | tail -1
সুতরাং, আপনি এটির ফিল্টার করতে আপনার ডিরেক্টরি নামগুলির প্যাটার্নটি ব্যবহার করুন (' sed ') এবং সংখ্যা ছেড়ে।
তারপর, আপনি সংখ্যালঘুভাবে শেষ সংখ্যা খুঁজে পেতে।
তারপরে, আপনি এটিতে একটি যুক্ত করবেন এবং একই প্যাটার্ন ব্যবহার করে আপনার পরবর্তী ডিরেক্টরিটি তৈরি করবেন।
বলুন, ভালো কিছু,
dirnamePattern=dirname
lastDirname=11
newDirname=$((lastDirname+1))
newDirname=${dirnamePattern}${newDirname}
তোমাকে দিবে ' dirname12 '।
নিম্নলিখিত একটি লাইন জিনিস করতে হবে:
mkdir $(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1))
ফোল্ডার দেওয়া হয়েছে:
1 something
3 other text
some 5 thing
2 test
এই নামে একটি ফোল্ডার তৈরি করে 6।
যদি আপনি তারপর নামে একটি ফাইল অনুলিপি করতে চান file, শুধু এই মত কিছু করুন:
name=$(($(find . -type d | sed -e 's/[^0-9]*//g' | sort -n | tail -n 1)+1)); mkdir $name; cp file $name