কিছু ফাইল কীভাবে তাদের পিতামাতার ডিরেক্টরিতে সরানো যায়?


13

আমি সমস্ত এমপি 3 এর টানতে চাই যেগুলি যথাযথভাবে এগুলির একটি ফ্ল্যাক ফোল্ডারে তাদের প্যারেন্ট ফোল্ডারে রেখে দেওয়া হয়েছে।

ফোল্ডারগুলি কত গভীর তা বিবেচনা করা উচিত নয়, আমি কেবলমাত্র একটি ডিরেক্টরি উপরে মেলে ফাইলগুলি সরাতে চাই।

আমি এখানে আমার ফাইলগুলি কীভাবে নির্বাচন করব তা এখানে:

find . -path "*/flac/*" -name '*.mp3'

এটি আমার সঙ্গীত ফোল্ডার থেকে কাজ করে তবে আমি এখানে আটকে আছি। সমস্ত সমাধান আমি খুঁজে পেয়েছি, হয় ফাইলগুলি বর্তমান ফোল্ডারের পিতামাতার কাছে নিয়ে যান বা কিছু স্থির কাঠামো প্রয়োজন।

উত্তর:


24

চেষ্টা করুন:

find . -path "*/flac/*" -name '*.mp3' -execdir mv -t ../ {} +

কিভাবে এটা কাজ করে

  1. find .

    বর্তমান ডিরেক্টরিতে কাজ করে একটি ফাইন্ড কমান্ড শুরু করুন।

  2. -path "*/flac/*"

    flacতাদের পথে কেবল ফাইলগুলি নির্বাচন করুন

  3. -name '*.mp3'

    এক্সটেনশন সহ কেবলমাত্র ফাইলগুলি নির্বাচন করুন .mp3

  4. -execdir mv -t ../ {} +

    যে কোনও ফাইলের সন্ধান mvপাওয়ার জন্য ফাইলটি যে ডিরেক্টরিটি রয়েছে সেগুলি থেকে কমান্ডটি চালান এবং ফাইলটি পিতামত ডিরেক্টরিতে সরান।

    এই নির্দিষ্ট কাজটি সহজ করে তোলার -execdirপাশাপাশি -execবিকল্পটিও প্রচলিত বিকল্পের চেয়ে বেশি সুরক্ষিত ।

সরলীকরণ

find . -path "*/flac/*.mp3" -execdir mv -t ../ {} +

1
নিস! আমি যা চাই ঠিক তাই করে
মার্সেল

+ কি আচারের জন্য বিকল্প \ ?
রেক্যান্ডবোনম্যান

@ জনন 1024 ধরে নিচ্ছেন যে flacপথে পথে কোনও নেস্টেড ডিরেক্টরি নেই যেমন */flac/flac/x.mp3অন্যথায় x.mp3ফাইল দুটি স্তরের উপরে চলে যাবে।
স '22

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