আমি renameসব সময় ব্যবহার । এটি বেশ সহজ, তবে আশা করি আপনি বেসিক রেজেক্সটি জানেন:
rename "s/SEARCH/REPLACE/g" *
এটি প্রতিটি ফাইলের SEARCHসাথে স্ট্রিংকে প্রতিস্থাপন করবে REPLACE(এটি হ'ল *)। /gমানে বিশ্বব্যাপী, তাই আপনি যদি একটি ছিল SEARCH_SEARCH.jpg, এটা নতুন নামকরণ করা হবে REPLACE_REPLACE.jpg। যদি আপনার না থাকে তবে /gএটি কেবল একবার প্রতিস্থাপন করত, এবং এখন এটির নামকরণ REPLACE_SEARCH.jpg। আপনি যদি কেস-সংবেদনশীল চান, যোগ করুন /i(এটি হবে, /giবা /igশেষে হবে)।
নিয়মিত প্রকাশের সাথে আপনি আরও অনেক কিছু করতে পারেন।
নোট করুন যে renameএটি prename(ওরফে পার্ল rename) কমান্ড, যা সম্পূর্ণ পার্ল নিয়মিত এক্সপ্রেশন সমর্থন করে। আর একটি রয়েছে renameযা নিদর্শনগুলি ব্যবহার করে, এবং ততটা শক্তিশালী নয়। prenameউবুন্টুতে (পার্ল সহ) ডিফল্টরূপে ইনস্টল করা হত তবে এখন আপনাকে এটি করতে হতে পারে:
sudo apt install rename
এখানে কিছু উদাহরণ আছে:
উপসর্গ
যুক্ত করুন :
rename 's/^/MyPrefix_/' *
document.pdf নামকরণ MyPrefix_document.pdf
সরান :
এছাড়াও আপনি অযাচিত স্ট্রিংগুলি সরাতে পারেন। ধরা যাক আপনার মতো 20 টি এমপি 3 ফাইল রয়েছে CD RIP 01 Song.mp3এবং আপনি "সিডি আরআইপি" অংশটি সরাতে চেয়েছিলেন এবং আপনি একটি কমান্ড দিয়ে সেগুলি সমস্তটি থেকে সরাতে চেয়েছিলেন।
rename 's/^CD RIP //' *
CD RIP 01 Song.mp3 প্রতি 01 Song.mp3
অতিরিক্ত স্থান লক্ষ্য করুন '^CD RIP ', স্থান ব্যতীত সমস্ত ফাইলের ফাইলের প্রথম অক্ষর হিসাবে একটি স্থান থাকবে। এছাড়াও মনে রাখবেন, এটি ^চরিত্র ব্যতীত কাজ করবে CD RIP তবে ফাইলের কোনও অংশে এটি মিলবে । ^গ্যারান্টী এটি শুধুমাত্র অক্ষর সরিয়ে ফেলা হবে তারা ফাইলের শুরুতে যদি।
প্রত্যয়
যুক্ত করুন :
rename 's/$/_MySuffix/' *
document.pdf নামকরণ document.pdf_MySuffix
পরিবর্তন :
rename 's/\.pdf$/.doc/' *
Something.pdfমধ্যে পরিবর্তন হবে Something.doc। (ব্যাকস্ল্যাশ হওয়ার কারণটি হ'ল, .রেজিএক্সপিতে একটি ওয়াইল্ডকার্ড চরিত্র তাই .pdfমেলে qPDFযেখানে \.pdfকেবল সঠিক স্ট্রিংয়ের সাথে মেলে .pdfAlso এছাড়াও খুব গুরুত্বপূর্ণ, আপনি যদি বেসের সাথে পরিচিত না হন তবে আপনাকে অবশ্যই সিঙ্গল লেটারে ব্যাকস্ল্যাশ রাখতে হবে! আপনি উদ্ধৃতিগুলি বাদ দিতে পারবেন না বা ডাবল কোট ব্যবহার করুন, বা বাশ তাদের অনুবাদ করার চেষ্টা করবে ash বাশ \. এবং "\." সমান .((তবে ডাবল-কোটস এবং ব্যাকস্ল্যাশগুলি ব্যবহৃত হয়, উদাহরণস্বরূপ একটি নতুন লাইনের জন্য "\ n", তবে যেহেতু "\."একটি বৈধ ব্যাক এস্কেপ ক্রম নয়) অনুবাদ করে .)
প্রকৃতপক্ষে, আপনি স্ট্রিংয়ের অংশগুলি পুরোটির পরিবর্তে উদ্ধৃতিতে সংযুক্ত করতে পারেন: এবং বেসের 's/Search/Replace/g'মতোই । আপনাকে কেবল বিশেষ অক্ষর (এবং স্পেস) সম্পর্কে যত্নবান হতে হবে।s/'Search'/'Replace'/gs/Search/Replace/g
আমি -nবিকল্পটি ব্যবহার করার পরামর্শ দিচ্ছি যখন আপনি ইতিবাচক না হন আপনার সঠিক নিয়মিত ভাব থাকে। এটি দেখায় যা নামকরণ করা হবে, তারপরে এটি না করেই বেরিয়ে আসে। উদাহরণ স্বরূপ:
rename -n s/'One'/'Two'/g *
আপনি -nপতাকাটি সেখানে না রাখলে এটি যা কিছু পরিবর্তন করে তা এটি তালিকাভুক্ত করে । যদি এটি দেখতে ভাল লাগে Upতবে ফিরে যেতে টিপুন , তারপরে মুছে ফেলুন -nএবং টিপুন Enter(বা এটি -vযে সমস্ত পরিবর্তন আউটপুট করে তা প্রতিস্থাপন করুন )।
দ্রষ্টব্য : ১.0.০৪ এর উপরে উবুন্টু সংস্করণগুলি renameডিফল্টরূপে প্রেরণ করে না , তবে এটি এখনও সারণীতে পাওয়া যায়। sudo apt install renameএটি ইনস্টল করতে ব্যবহার করুন