আপনি যদি ডিরেক্টরি হায়ারার্কির সমস্ত ফাইল একটি একক গন্তব্য ডিরেক্টরিতে বাশ ≥4 ( shopt -s globstarআপনার মধ্যে রাখুন ~/.bashrc) বা zsh তে সরিয়ে নিতে চান:
mkdir ~/new-directory
mv -i **/*.xxx ~/new-directory
অন্যান্য শেলগুলিতে:
mkdir ~/new-directory
find . -name '*.xxx' -exec mv -i {} ~/new-directory \;
এই findআদেশটি কীভাবে পড়বেন :
.: বর্তমান ডিরেক্টরিটি অতিক্রম করুন
-name '*.xxx': এই নামগুলির সাথে এই নামগুলির সাথে মেলে এমন ফাইলগুলিতে কাজ করুন
-exec … \;: প্রতিটি ফাইলে এই কমান্ডটি সম্পাদন করুন, ফাইলের {}পাথের পরিবর্তে
আরও জটিল কমান্ড রয়েছে যা findএটি দ্রুত ব্যবহার করে যদি আপনার অনেকগুলি ফাইল থাকে তবে mvপ্রতিটি ফাইলের জন্য পৃথক প্রক্রিয়া শুরু করার প্রয়োজন নেই :
find . -name '*.xxx' -exec sh -c 'mv -i "$@" "$0"' ~/new-directory {} +
+শেষে বলে findএকটি সময়ে একাধিক ফাইল কমান্ড ডাকা। যেহেতু findকেবলমাত্র কমান্ড লাইনের শেষে ফাইলের নাম রাখা mvযেতে পারে এবং গন্তব্য ডিরেক্টরিটি সর্বশেষে থাকা দরকার তাই আমরা আর্গুমেন্টগুলি পুনরায় সাজানোর জন্য একটি মধ্যবর্তী শেল ব্যবহার করি ( "$0"শেলের প্রথম আর্গুমেন্ট ~/new-directory, এবং "$@"পরবর্তী যুক্তিগুলি থেকে আসে findএর সম্প্রসারণ {})।