নির্দিষ্ট ক্রমে চিত্রের নামকরণ


8

এটি আমার সমস্যা: আমার 500 টি ইমেজযুক্ত ফোল্ডার রয়েছে:

1.jpg
2.jpg
3.jpg

ইত্যাদি

আমি সেই ফোল্ডারটি অনুলিপি করেছি এবং এখন আমার একই ছবিগুলির নাম পরিবর্তন করতে হবে 501 থেকে 1000 তবে এই পদ্ধতিতে:

1.jpg  becomes    501.jpg
2.jpg  becomes    502.jpg
3.jpg  becomes    503.jpg          
....

যখন আমি আমার স্ট্যান্ডার্ড নামকরণের আদেশটি ব্যবহার করি:

i=501;for img in $(find . -iname '*.jpg'); do echo -n "Converting $img"; mv $img $i.jpg  && echo $i && ((i++)); done

এটি 501 থেকে 1000 পর্যন্ত চিত্রগুলি অর্ডার করে তবে সেগুলি সমস্ত ছড়িয়ে ছিটিয়ে থাকে:

23.jpg becomes 501.jpg,    
66.jpg becomes 502.jpg 
...   

(তারা সঠিক ক্রমে থাকে তবে এটি তাদের সাথে মিশে যায়)

আমি জানি এটি সম্ভবত একটি কমান্ড আমি অনুপস্থিত ...


I এবং j mv $ i.jpg $ j.jpg এবং 2 ভেরিয়েবল ব্যবহার করুন এবং আপনার ভেরিয়েবলগুলি বৃদ্ধি করুন।
প্যানথার

আপনাকে ধন্যবাদ, আশা করি আপনি এটি বুঝতে পারবেন। আমি অনুসন্ধান করেছি কিন্তু উত্তরটি খুঁজে পেলাম না
পেইনকিলার

শুধু কৌতূহল, আসল নামগুলি এগুলি কতগুলি? আসল নম্বরটির সবেমাত্র + 500 নামকরণ করা উচিত?
জ্যাকব Vlijm

হ্যাঁ জ্যাকব আপনি +500। আমি বোধি আমাকে যা বলেছিল তা লেখার চেষ্টা করছি তবে আমি লনাক্সে তেমন ভাল নই, উপরের পুনর্নবীকরণ কমান্ডটি লেখার জন্য আমি আমার আত্মহত্যা করেছি: ডি
পেইনকিলার

আমার দুর্বল ল্যাপটপটি এটিএমের উপর প্রচুর পরিমাণে দখল করেছে, তবে যদি কোনও সন্তোষজনক উত্তর না আসে (যা আমি সন্দেহ করি :)) এবং আপনি যদি পরিচালনা না করেন তবে আমি আজ রাতে একটি অজগর স্ক্রিপ্ট পোস্ট করব।
জ্যাকব Vlijm

উত্তর:


7

থুনার চেষ্টা করুন , যা এক্সফেসের জন্য ডিফল্ট ফাইল ম্যানেজার। এটি খুব লাইটওয়েট এবং একটি কার্যকর বাল্ক নামকরণ সরঞ্জামের সাথে আসে। টার্মিনালে নিম্নলিখিত কমান্ডটি চালিয়ে আপনি থুনার ইনস্টল করতে পারেন:

sudo apt-get install thunar

আপনি সম্ভবত উবুন্টু সফ্টওয়্যার থেকেও ইনস্টল করতে সক্ষম হবেন।

ইউটিলিটি কীভাবে ব্যবহার করবেন

  1. একবার আপনি থুনার ইনস্টল করার পরে, বাল্ক নামকরণের ইউটিলিটি চালু করুন ।
  2. + আইকনে ক্লিক করুন এবং যথাযথ ক্রমে আপনার নাম পরিবর্তন করতে চান ফাইলগুলি যুক্ত করুন।
  3. শুধু নির্বাচিত ফাইলগুলি একটি তালিকা নিচে ড্রপ-ডাউন বক্স এ ক্লিক করুন এবং নির্বাচন সংখ্যায়ন । তার পাশের বক্সে ক্লিক করুন এবং কেবল নাম নির্বাচন করুন ।
  4. " স্টার্ট উইথ: " বক্সে 501 লিখুন, " পাঠ্য: " বাক্সটি খালি রেখে দিন। আপনার নতুন নাম কলামে পরিবর্তনগুলির পূর্বরূপ দেখতে হবে ।
  5. পরিবর্তনগুলি প্রয়োগ করতে ফাইলের নাম পরিবর্তন করুন বোতামে ক্লিক করুন।

সংখ্যায়ন ছাড়াও এই ইউটিলিটি নিম্নলিখিত ক্রিয়াকে সমর্থন করে:

  • তারিখ / সময় .োকান
  • /োকান / ওভাররাইট করুন
  • অক্ষর সরান
  • অনুসন্ধান এবং প্রতিস্থাপন
  • বড় হাতের / ছোট হাতের বাচ্চা

ধন্যবাদ মানুষ আপনি এমভিপি! আমাকে কেবল এটি যুক্ত করতে হবে যে আমাকে পাঠ্য বিন্যাসটি: টেক্সট - সংখ্যাতেও পরিবর্তন করতে হবে। (কেবল অন্য কেউ এটি ব্যবহারের ক্ষেত্রে)
ব্যথানাশক

2
এফএম এ স্যুইচ করতে ... একটি সাধারণ কাজ সম্পাদন করা আমার কাছে অত্যধিক কিল মনে হয়। একটি সরল নটিলাস স্ক্রিপ্ট এক্সটেনশন লিখতে কম সময় লাগে তবে এফএম স্যুইচ করা।
জ্যাকব ভিলিজম

1
@ জ্যাকবভিলিজম আমি নটিলাসের সাথে থুনারটি কেবলমাত্র বাল্ক নামকরণ সরঞ্জামের জন্য ব্যবহার করছি। থুনার হালকা হালকা এবং নটিলাস বা অন্যান্য ফাইল পরিচালকদের সাথে কোনও বিরোধের কারণ বলে মনে হচ্ছে না।
পমস্কি

4
আপনি যদি দ্বিতীয় ফাইল ম্যানেজার না চান তবে pyrenamerনিখুঁতভাবে কাজ করে এবং বাঁক নামগুলির জন্য আমি যা ব্যবহার করি আউটপুটের আগে / পরে কোনও জিইউআই তুলনা করতে চাই।
টম ব্রসম্যান

13

findকমান্ড 'ডিরেক্টরিতে' অনুক্রমে ফাইল খুঁজে বের করে ( 23.jpg, 66.jpg, ...)। আপনি |sortখুঁজে পেতে পারে।

তবে আপনার পদ্ধতিগুলি ওভার কমপ্লেক্স।

for i in $( seq 1 500 ) ; do
    j=$(( $i + 500 ))
    mv $i.jpg $j.jpg
done 

3
for i in {1..500}; do ...মৌমাছি সহজ হবে।
ডেভিড ফোস্টার 13


5

আপনি যদি সঠিকভাবে যা জিজ্ঞাসা করছেন তা যদি আমি বুঝতে পারি তবে আমার মনে হয় আপনি এটি ডিফল্ট পুনরায় নামকরণ সরঞ্জামটি ব্যবহার করে করতে পারেন:

rename 's/^(\d+)/sprintf("%d",$1+500)/e' *.jpg -vn

-vnপরিবর্তনটি কার্যকর করার জন্য আপনার পরীক্ষার পরে (ভার্বোস - কোনও পদক্ষেপ নেই) স্যুইচটি সরিয়ে ফেলতে হবে।


উবুন্টুতে কেউ কীভাবে এই সরঞ্জামটি ইনস্টল করতে পারে? ডিফল্টরূপে renameলিঙ্ক করা prename(1)থেকে perlপ্যাকেজ যা এই সব কম্যান্ড-লাইন অপশন সমর্থন করে না।
ডেভিড ফোস্টার 13

@ ডেভিডফোরস্টার আপনি ঠিক থাকতে পারেন আমি একটি বর্তমান ইনস্টলেশন লিঙ্কটি খুঁজে পেলাম না (আমি এটি ২০১৪ সাল থেকে ব্যবহার করি নি)। ডিফল্ট পুনঃনামকরণ সরঞ্জাম সহ, আমি মনে করি রেগেক্স এক্সপ্রেশন হওয়া উচিত 's/^(\d+)/sprintf("%d",$1+500)/e'। আমি আমার উত্তর অনুসারে আপডেট করব। ধন্যবাদ।
সেম্পাইসকুবা

1
আপনার উত্তর এখন AFSHIN এর সদৃশ ।
ডেভিড ফোস্টার 14

@ ডেভিডফোরস্টার দুঃখিত, কি উত্তর? আমি দেখতে পাচ্ছি কেবলমাত্র অন্য উত্তরগুলি হ'ল পম্পকি ও ওয়ালটিনেটর। পুনরায় নামকরণ (উভয় সংস্করণ) ব্যবহার করবেন না।
সেম্পাইস্কুবা

উত্তরটির প্রত্যক্ষ লিঙ্কটি আমার আগের মন্তব্যে অন্তর্ভুক্ত।
ডেভিড ফোস্টার 14

0

স্রেফ শেল কমান্ড দিয়ে এটি অর্জনের আর একটি উপায়

গণনা = 1; আমি ভিতরে ls; এমভি $ আই সিএন $ ((গণনা ++)) করুন $ {# i ## *।}; সম্পন্ন

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