আমি 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
কেবল সঠিক স্ট্রিংয়ের সাথে মেলে .pdf
Also এছাড়াও খুব গুরুত্বপূর্ণ, আপনি যদি বেসের সাথে পরিচিত না হন তবে আপনাকে অবশ্যই সিঙ্গল লেটারে ব্যাকস্ল্যাশ রাখতে হবে! আপনি উদ্ধৃতিগুলি বাদ দিতে পারবেন না বা ডাবল কোট ব্যবহার করুন, বা বাশ তাদের অনুবাদ করার চেষ্টা করবে ash বাশ \.
এবং "\."
সমান .
((তবে ডাবল-কোটস এবং ব্যাকস্ল্যাশগুলি ব্যবহৃত হয়, উদাহরণস্বরূপ একটি নতুন লাইনের জন্য "\ n", তবে যেহেতু "\."
একটি বৈধ ব্যাক এস্কেপ ক্রম নয়) অনুবাদ করে .
)
প্রকৃতপক্ষে, আপনি স্ট্রিংয়ের অংশগুলি পুরোটির পরিবর্তে উদ্ধৃতিতে সংযুক্ত করতে পারেন: এবং বেসের 's/Search/Replace/g'
মতোই । আপনাকে কেবল বিশেষ অক্ষর (এবং স্পেস) সম্পর্কে যত্নবান হতে হবে।s/'Search'/'Replace'/g
s/Search/Replace/g
আমি -n
বিকল্পটি ব্যবহার করার পরামর্শ দিচ্ছি যখন আপনি ইতিবাচক না হন আপনার সঠিক নিয়মিত ভাব থাকে। এটি দেখায় যা নামকরণ করা হবে, তারপরে এটি না করেই বেরিয়ে আসে। উদাহরণ স্বরূপ:
rename -n s/'One'/'Two'/g *
আপনি -n
পতাকাটি সেখানে না রাখলে এটি যা কিছু পরিবর্তন করে তা এটি তালিকাভুক্ত করে । যদি এটি দেখতে ভাল লাগে Upতবে ফিরে যেতে টিপুন , তারপরে মুছে ফেলুন -n
এবং টিপুন Enter(বা এটি -v
যে সমস্ত পরিবর্তন আউটপুট করে তা প্রতিস্থাপন করুন )।
দ্রষ্টব্য : ১.0.০৪ এর উপরে উবুন্টু সংস্করণগুলি rename
ডিফল্টরূপে প্রেরণ করে না , তবে এটি এখনও সারণীতে পাওয়া যায়। sudo apt install rename
এটি ইনস্টল করতে ব্যবহার করুন