কিভাবে একটি ফাইলের নাম সাদা করা যায়?


8

আমি নিম্নলিখিত পদ্ধতিতে চেষ্টা করেছিলাম:

rename 'bla bla .txt' blabla.txt

তবে এটি কাজ করে না, এই ক্ষেত্রে সঠিক বাক্য গঠন কী?

উত্তর:


15

আপনার renameকেবল একটি ফাইলের নাম পরিবর্তন করতে ব্যবহার করা উচিত নয় , পরিবর্তে mv(1) ব্যবহার করুন।

আরও, হোয়াইটস্পেস থেকে বাঁচতে এটির সাথে একটি উপসর্গ করুন \:

"Ubuntu One"Ubuntu\ One

আপনার আদেশ হবে

mv bla\ bla.txt blabla.txt
  • ব্যাকস্ল্যাশ বাশকে বলে যে পরের অক্ষরটি কোনওরকম বিশেষ, যেমন \a'বেল' এর \জন্য আক্ষরিক জায়গার জন্য

    দেখতে man ascii(7) আরো অনেক কিছুর জন্য

বিকল্প হিসাবে, যেহেতু আপনি এখন সঠিক কমান্ডটি ব্যবহার করছেন তাই mvঅনেকগুলি স্থান থাকলে আপনি ফাইলের নামটি উদ্ধৃত করতে পারেন:

mv "bla    bla.txt" blabla.txt

(এটি bla\ \ \ \ bla.txtপালিয়ে যাওয়া আকারে হবে)

  • ব্যাশে, উদ্ধৃত স্ট্রিংগুলি (একক বা ডাবল উদ্ধৃতি) একক আর্গুমেন্ট হিসাবে বিবেচিত হবে, যেখানে অনাবৃত স্ট্রিংগুলি একাধিক যুক্তিতে বিভক্ত হবে, এর মতো:

    • ["mv", "bla", "bla.txt", "blabla.txt", ]

    এবং mvপ্রত্যাশা:

    • ["mv", "source", "destination", ]
  • দ্রষ্টব্য: 'এমভি' টাইপ করুন TABএবং ফাইলের নামের প্রথম কয়েকটি অক্ষর এবং টিপুন আপনাকে ফাইলের নামের পালানো সংস্করণ দেবে, নাম পরিবর্তন করে দ্রুত এবং সহজ করে তুলবে।


renameব্যাচ-প্রক্রিয়া নিয়মিত এক্সপ্রেশন ব্যবহার করে ফাইলগুলির নাম পরিবর্তন করতে ব্যবহৃত হয়, যেমনটি এর ম্যান-পৃষ্ঠা থেকে উদাহরণে প্রদর্শিত হয়েছে :

rename 's/\.bak$//' *.bak

"* .বাক" এর সাথে মিলে যাওয়া সমস্ত ফাইল থেকে .bak (স্ট্রিংয়ের শেষে [$]) যেকোন ঘটনা ফেলা।


ধন্যবাদ, যদি মূল ফাইলনেমটিতে অনেক সাদা অংশ থাকে তবে কমান্ডটি কীভাবে দেখবেন? কোনও সরল রেগেক্স রয়েছে যাতে প্রতি একক সাদা অংশ থেকে বাঁচার দরকার নেই?
NES

অনেকগুলি স্থান এবং একক বনাম ডাবল উদ্ধৃতি সম্বোধনের উত্তর আপডেট করেছে।
স্টেফানো প্যালাজো

একক এবং ডাবল উদ্ধৃতিগুলির মধ্যে পার্থক্য রয়েছে, তবে এটি এই সমস্যার জন্য কোনও উদ্বেগের বিষয় নয়। এর সঠিক বিবরণের জন্য এই নিবন্ধটি দেখুন
স্টেফানো প্যালাজো

4

পুনর্নামকরণ বাল্ক নামকরণের জন্য বিশেষায়িত কমান্ড। অভাবনীয়ভাবে, আমরা সাধারণত "নামকরণ" বলি যা আসলে একটি নতুন নামে "চাল" হয়:

mv 'bla bla .txt' blabla.txt

একক উদ্ধৃতি এবং ডাবল উদ্ধৃতিতে ফাইলের নাম লেখার মধ্যে পার্থক্য কী?
NES

4
ডাবল উদ্ধৃতি ভেরিয়েবলগুলি প্রসারিত এবং প্রক্রিয়া প্রতিস্থাপনের জন্য অনুমতি দেয়; একক উদ্ধৃতি না। A=bla ; mv "$A $A .txt" blabla.txtbla bla .txt স্থানান্তরিত হবে, তবে A=bla ; mv '$A $A .txt' blabla.txtআসলে "$ A $ A .txt" নামের একটি ফাইল সন্ধান করবে। হয় কেউ আপনার উদাহরণের জন্য কাজ করবে যদিও।
উদ্ভট

1
rename "s/\s//g" "bla bla.txt"

s হল সাব সাবস্টিটিউট কমান্ড।

white গুলি হোয়াইটস্পেসের জন্য

আপনি কিছুই দিয়ে প্রতিস্থাপন করছেন। অন্য প্রতিস্থাপন স্ট্রিং দ্বিতীয় ফরোয়ার্ড স্ল্যাশ পরে যায়।

g গ্লোবাল জন্য, অর্থাত প্রতিবার প্রতিস্থাপন। জি ছাড়াই কেবল প্রথম উদাহরণটি প্রতিস্থাপন করে।


এই কমান্ডটি সমস্ত ফাইলে আন্ডারস্কোর সহ সাদা স্থানকে প্রতিস্থাপন করবে:

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