আমি ফোল্ডারে গুচ্ছ ফোল্ডার A
। আমি এই সমস্ত ফোল্ডার থেকে ফাইলগুলিতে সরাতে চাই A
।
অথবা
আমি চাইল্ড ফোল্ডারগুলি থেকে সমস্ত ফাইল কেটে প্যারেন্ট ফোল্ডারে আটকে দিতে চাই।
কিভাবে যে কি?
mv */* .
সাবফোল্ডারগুলির সাবফোল্ডার থেকে ফাইলগুলি সরানো হবে না।
আমি ফোল্ডারে গুচ্ছ ফোল্ডার A
। আমি এই সমস্ত ফোল্ডার থেকে ফাইলগুলিতে সরাতে চাই A
।
অথবা
আমি চাইল্ড ফোল্ডারগুলি থেকে সমস্ত ফাইল কেটে প্যারেন্ট ফোল্ডারে আটকে দিতে চাই।
কিভাবে যে কি?
mv */* .
সাবফোল্ডারগুলির সাবফোল্ডার থেকে ফাইলগুলি সরানো হবে না।
উত্তর:
আপনার A
ডিরেক্টরিতে যান এবং চালান
find . -mindepth 2 -type f -print -exec mv {} . \;
যার অর্থ "এই ডিরেক্টরিতে এবং এর উপ ডিরেক্টরিগুলির সমস্ত ফাইল সন্ধান করুন এবং লক্ষ্য ডিরেক্টরিতে এমভি চালান each প্রতিটি ফাইল তাদের বর্তমান ডিরেক্টরিতে স্থানান্তরিত করার জন্য খুঁজে পেয়েছিল।
find
আপনি কিছুটা মার্জিত হতে পারেন এবং mv
প্রতিটি ফাইলের জন্য কোনও প্রক্রিয়া তৈরি করতে পারেন না :find A -mindepth 2 -type f -exec mv -t A \{\} +
find . -mindepth 2 -type f -print -exec mv --backup=numbered {} . \;
ঠিক আছে আপনি একটি ফাইল তৈরি করতে পারেন এবং এটির নাম "কাটমি" রাখতে পারেন (টার্মিনাল টাইপে কাটমি নামে একটি ফাইল তৈরি nano cutme
করতে এটি সংরক্ষণ করতে CTRL + X টিপুন এবং তারপরে ENTER টিপুন)
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
লাইনের ভিতরে কাটমে নামটি নোট করুন । আপনি যে স্ক্রিপ্টটি চালাবেন এটি একই রকম হওয়া উচিত।
ফাইলটি তৈরি করার পরে এবং উপরের লাইনটি আটকে দেওয়ার পরে, স্ক্রিপ্টের মতো একই ফোল্ডারে নিম্নলিখিতটি চালান:
chmod +x cutme
। এটি আপনার নতুন ফাইল "সম্পাদনযোগ্য" ফ্ল্যাগ যাতে আপনি এটা ভালো নির্বাহ করতে পারেন দিতে হবে: ./cutme
।
mv */* .
?