একটি শেল কমান্ড ব্যবহার করে কোনও ফোল্ডারের ভিতরে কোনও ফাইলের নাম কীভাবে পরিবর্তন করা যায়?


8

আমি একটি ফাইল আছে some/long/path/to/file/myfiel.txt

আমি এর নাম পরিবর্তন করতে চাই some/long/path/to/file/myfile.txt

বর্তমানে আমি এটি mv some/long/path/to/file/myfiel.txt some/long/path/to/file/myfile.txtকরেই চলেছি, তবে দু'বার পথ টাইপ করা মারাত্মক কার্যকর নয় (এমনকি ট্যাব সমাপ্তির পরেও)।

আমি কীভাবে এটি দ্রুত করতে পারি? (আমি মনে করি কেবলমাত্র ফাইলের নাম বিভাগ পরিবর্তন করার জন্য আমি একটি ফাংশন লিখতে পারি, তবে এটি পরিকল্পনা বি)।

উত্তর:


11

একক আদেশে এটি করতে, আপনি কেবল এটি করতে পারেন:

mv some/long/path/to/file/{myfiel.txt,myfile.txt}

এটি কোনও টাইপো যেমন আপনি কিছু করতে পারেন তা দিয়ে পুরো ফাইল নামের জন্য এটি একটি উদাহরণ যা:

mv some/long/path/to/file/myfi{el,le}.txt

উভয়ই সম্পূর্ণ কমান্ডে প্রসারিত হবে, এগুলিকে বলা হয় বন্ধনী সম্প্রসারণ । তারা zsh দ্বারা সমর্থিত


ওহ আমার, এটি অনেক সম্ভাবনা খোলে। ধন্যবাদ!
লিওনিড শেভতসভ

5

এখানে বেশ কয়েকটি বিকল্প রয়েছে:

ডিরেক্টরিতে পরিবর্তন করুন:

cd /home/long/path
mv file1 file2
cd -

ডিরেক্টরি স্ট্যাক ব্যবহার করে ডিরেক্টরি পরিবর্তন করুন:

pushd /some/long/path
mv file1 file2
popd

সাবসেল ব্যবহার করে ডিরেক্টরিতে পরিবর্তন করুন:

( 
  cd /some/long/path
  mv file1 file2
)   # no need to change back

ব্রেস সম্প্রসারণ ব্যবহার করুন:

mv /some/long/path/{file1,file2}

একটি ভেরিয়েবল ব্যবহার করুন:

D=/some/long/path
mv "$D/file1" "$D/file2"

সতর্কতা অবলম্বন করুন যে পাথের কোনও স্থান থাকলে শেষ পন্থাটি ভেঙে যায়, তবে এটিকে উদ্ধৃত করুন।
slhck

আপনার যদি স্পেস থাকে তবে @slhck এর সমস্ত মতামত ভেঙে যায়।
টাইলার

1
না, আপনি যদি এগুলি সঠিকভাবে টাইপ করেন তবে তারা তা করবে না। কেবল প্রসারিত হলে পরিবর্তনশীলটি
এমভি-

আপনি এখানে যান
টাইলার

3

ডিরেক্টরিতে পরিবর্তন করুন, ফাইলটি সরান, এবং পূর্ববর্তী ডিরেক্টরিতে ফিরে যান; তাই ভালো:

cd some/long/path/to/file
mv myfiel.txt myfile.txt
cd -

1

আমি যখন সাব-শেল পদ্ধতিটি ব্যবহার করি তখন আমি এটির মতো এক লাইনে এটি করার প্রবণতা রাখি

(cd /some/long/path ; mv myfiel myfile )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.