এক ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে পুনরাবৃত্তভাবে ফাইলগুলি অনুলিপি করুন


11

আমার সমস্ত সংগীত একটি ফোল্ডারে রয়েছে /media/kalenpw/MyBook/Music/ABunchOfOtherFoldersWithFilesInside। আমি এমপি 3 এর সমস্তগুলি অনুলিপি করতে চাই /media/kalenpw/HDD/Musicযাতে আমি ব্যবহার করেছি:

cp -R /media/kalenpw/MyBook/Music/*.mp3 /media/kalenpw/HDD/Music

তবে এটি কেবল রুট সংগীত ফোল্ডারে এমপি 3 টি অনুলিপি করেছে এবং কোনও শিল্পীর উপ-ডিরেক্টরি খুলেনি এবং সেই ফাইলগুলি অনুলিপি করে নি।

আমি ছাপে ছিলাম -Rপুনরাবৃত্তভাবে সমস্ত ফাইল অনুলিপি করা হবে। আমি কীভাবে এই লক্ষ্য অর্জন করতে পারি?

উত্তর:


19

ব্যবহার করুন:

find /media/kalenpw/MyBook/Music/ -name '*.mp3' -exec cp {} /media/kalenpw/HDD/Music \;

আপনার আদেশ কাজ না করার কারণ যে নাম ওয়াইল্ডকার্ডগুলি (ধারণকারী হয় *.mp3) কমান্ড সামনে প্রসারিত হয় চালানো হয়, তাই আপনি যদি তিনটি ফাইল ছিল ( 01.mp3, 02.mp3, 03.mp3) আপনার কার্যকর কমান্ড ছিল:

cp -R /media/kalenpw/MyBook/Music/01.mp3 /media/kalenpw/MyBook/Music/02.mp3 /media/kalenpw/MyBook/Music/03.mp3 /media/kalenpw/HDD/Music

আপনি দেখতে পারেন যে -Rএই ক্ষেত্রে কোন প্রভাব আছে।


কোনও ফাইল শেষ না -inameহওয়ার পরিবর্তে আমি প্রস্তাব দিই । -name.MP3
ওলতে

আপনাকে ধন্যবাদ এই কাজ। অথবা কমপক্ষে কাজ করার প্রক্রিয়াধীন রয়েছে।
kalenpw

5

আপনি বিশেষত ফাইল (গুলি) / ডিরেক্টরি (ies) হিসাবে অনুলিপি করার জন্য *.mp3যেমন কোনও ফাইল / ডিরেক্টরি নাম অন্তর্ভুক্ত হওয়া উচিত বলে উল্লেখ করেছেন .mp3

সুতরাং কোনো শেষ হওয়া ফাইল .mp3মধ্যে /media/kalenpw/MyBook/Music/ডিরেক্টরি ও একইভাবে, কোন ডিরেক্টরির মধ্যে বিভক্তি .mp3মধ্যে /media/kalenpw/MyBook/Music/অনুলিপি করা হবে, যাও recursively। এই জাতীয় কোনও ফাইল বা ডিরেক্টরি না থাকলে কোনও কিছুই অনুলিপি করা হবে না।

পুনরাবৃত্তি থেকে ডিরেক্টরিতে সমস্ত .mp3ফাইল অনুলিপি /media/kalenpw/MyBook/Music/করতে /media/kalenpw/HDD/Music/:

  • ব্যবহার bash:

    shopt -s globstar
    cp -at /media/kalenpw/HDD/Music /media/kalenpw/MyBook/Music/**/*.mp3
    
  • ব্যবহার find:

    find /media/kalenpw/MyBook/Music -type f -name '*.mp3' -exec cp -at /media/kalenpw/HDD/Music {} +
    

ধন্যবাদ, টেক্রাফ প্রথমে জবাব দিয়েছে তাই আমি তাদের উত্তর গ্রহণ করেছি।
kalenpw

1

আপনি সিআরপি ব্যবহার করতে পারেন :

$ cd /media/kalenpw/HDD/Music
$ cpr -p '/\.mp3$/' '/media/kalenpw/MyBook/Music/'

নোট করুন যে -p সিআরপি ছাড়াই অনুলিপি করা ফাইলের নামগুলিতে সম্পূর্ণ ডিরেক্টরি পাথ সংরক্ষণ করবে। '/ মিডিয়া... / মিউজিক /' এর আওতায় পাথ সংরক্ষণের জন্য
-r(পরিবর্তে -p) ব্যবহার করা যেতে পারে ।
এছাড়াও cprযে কোন ফাইল ওভাররাইট হয় যত্ন নেওয়ার জন্য, কোনো সংখ্যা অনুলিপি করা কোন পুনরাবৃত্তি ফাইলের নাম থেকে '0001' থেকে শুরু সংযোজন হবে।


1

ধরুন, আপনি একটি গুচ্ছ আছে .docx, .mp3, .txtএবং .xlsxএই ডিরেক্টরির কাঠামো সংরক্ষিত ফাইলগুলি:

/files/
/files/dir1/
/files/dir1/dir11/
/files/dir1/dir12/
/files/dir1/dir13/
/files/dir2/
/files/dir3/
/files/dir3/dir31/
/files/dir3/dir32/
/files/dir4/
/files/dir5/
/files/dir51/
/files/dir52/
/files/dir53/
/files/dir54/

... এবং সমস্ত পাওয়া .mp3ফাইলগুলিতে অনুলিপি করতে আপনি এই জাতীয় ডিরেক্টরিতে পুনরাবৃত্তি করতে চান /home/me/music/তবে আপনি গন্তব্যস্থলে এই জাতীয় ডিরেক্টরি গাছটি সংরক্ষণ করতে চান না (যেমন আপনি চান যে সমস্ত পাওয়া .mp3ফাইলগুলি /home/me/music/সংশ্লিষ্ট ডিরেক্টরিতে অনুলিপি না করে অনুলিপি করা উচিত) যেমন /home/me/music/dir1/, /home/me/music/dir1/dir11/ইত্যাদি)

সেক্ষেত্রে শেল টার্মিনালে (বাশ) প্রথমে আপনার ফাইল অনুসন্ধানের মূলটি অ্যাক্সেস করতে এই কমান্ডটি চালান:

cd /files

... এবং তারপরে এই আদেশটি চালান:

for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done

আপনি যদি গন্তব্যস্থলে উত্সের ডিরেক্টরি গাছটি সংরক্ষণ করতে চান তবে পরিবর্তে (চলার পরে cd /files) এই কমান্ডটি চালান :

find . -iname '*.mp3' | cpio -pdm /home/me/music/

উপরে কমান্ড উপর, সার্চ কেস-অবশ (অর্থাত ম্যাচ .mp3, .MP3, .mP3এবং .Mp3)। ব্যবহার করুন -nameপরিবর্তে -inameআপনি অনুসন্ধান কেস সংবেদনশীল (যেমন ব্যবহার হতে চান -nameজন্য .mp3অক্ষরের স্ট্রিং দিয়ে শেষ ফাইল ম্যাচ হবে .mp3কিন্তু দিয়ে শেষ সেই না .MP3, .mP3কিংবা .Mp3)।


আপনি যেখানে ডিরেক্টরি কাঠামো সংরক্ষণ করতে চান সেই ক্ষেত্রে , উত্স ডিরেক্টরি থেকে এই কমান্ডটি চালান। আপনি যদি চালনা করেন তবে find /source/dir -iname '*.mp3' | cpio -pdm /home/me/music/এটি / হোম / মি / মিউজিক / উত্স / দির তৈরি করবে এবং ফাইলগুলি এই নতুন স্থানে অনুলিপি করা হবে।
গৌতম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.