কিভাবে আমি লিনাক্সের এক ফোল্ডার থেকে অন্য ফোল্ডারে কেবলমাত্র প্লেইন ফাইল (ডিরেক্টরিগুলি নয়) ব্যবহার করতে পারি mv
কমান্ড?
আমি চেষ্টা করেছি mv * ~/
, কিন্তু এটি ডিরেক্টরি সহ সবকিছু কপি।
কিভাবে আমি লিনাক্সের এক ফোল্ডার থেকে অন্য ফোল্ডারে কেবলমাত্র প্লেইন ফাইল (ডিরেক্টরিগুলি নয়) ব্যবহার করতে পারি mv
কমান্ড?
আমি চেষ্টা করেছি mv * ~/
, কিন্তু এটি ডিরেক্টরি সহ সবকিছু কপি।
উত্তর:
আমি একটি "সবকিছুর জন্য একটি হাতুড়ি ব্যবহার করুন" আমি একজন মানুষ বাইরের প্রোগ্রাম ব্যবহার করে স্টাফ জন্য বোর্ন শেল প্রোগ্রাম ব্যবহার করি ...
for file in * .*
do
test -f "$file" && mv "$file" "$HOME"/
done
কিছু লোক যতটা সম্ভব ছোট টাইপিংয়ে কাজ করতে পছন্দ করে তবে আমি খুব দ্রুত টাইপস্টিস্ট এবং আমার মস্তিষ্কের মধ্যে এটি এমন স্টাফ পেয়েছে যাতে এটি সঠিকভাবে দেখার পরিবর্তে এটি করতে ব্যথা বেশি না। অনুসন্ধান এবং exec এবং সব যে আর্গুমেন্ট।
YMMV, যদিও ...
@ মীরেঘস্ট খুব ঘনিষ্ঠ। আমি সব ফাইল (লুকানো ফাইল সহ) সরানো এখানে, কিন্তু ডিরেক্টরি নয়:
find . -maxdepth 1 -type f -name '*' -exec mv -n {} /destination_path \;
দ্য .
খুঁজে বের করার পরে আপনি বর্তমান ডিরেক্টরিটি যে ফাইলগুলি সরাতে চান সেগুলির উৎস। যদি না হয়, কমান্ড সংশোধন করা যেতে পারে, নিম্নরূপ:
find /source_path -maxdepth 1 -type f -name '*' -exec mv -n {} /dest_path \;
আপনি কেবলমাত্র নিয়মিত ফাইলগুলি সরাতে চান এবং লুকানো ফাইলগুলি সরাতে চান না:
find . -maxdepth 1 -type f -name '[!.]*' -exec mv -n {} /dest_path \;
আপনি শুধুমাত্র লুকানো ফাইলগুলি সরানো এবং নিয়মিত ফাইলগুলি সরাতে চাইলে:
find . -maxdepth 1 -type f -name '.*' -exec mv -n {} /dest_path \;
আপনি খুঁজে ব্যবহার করতে পারেন
find * -maxdepth 1 -type f -exec mv {} ~ \;
mv `find ./sourcedir/* -type f` ./destdir
find
এর -exec
বিকল্পটি এড়াতে সর্বোত্তম উপায়।