আপনি নীচের মত কিছু করতে পারে।
find path_A -name "*AAA*" -print0 | xargs -0 -I {} mv {} path_B
কোথায়,
-0
যদি ফাঁকা স্থান বা অক্ষর থাকে (নতুন লাইনের সহ) অনেক কমান্ড কাজ করবে না। এই বিকল্পটি ফাঁকা স্থান সহ ফাইলের নাম যত্ন করে।
-I
প্রারম্ভিক-আর্গুমেন্টগুলিতে স্ট্যান্ডার্ড ইনপুট থেকে পঠিত নামগুলি সহ প্রতিস্থাপন-স্ট্রিংয়ের ঘটনাগুলি প্রতিস্থাপন করুন। এছাড়াও, অব্যক্ত ফাঁকাগুলি ইনপুট আইটেমগুলি শেষ করে না; পরিবর্তে বিভাজক হ'ল নতুন লাইন চরিত্র।
পরীক্ষামূলক
আমি দুই ডিরেক্টরি নির্মিত sourcedir
এবং destdir
। এখন আমি ভিতরে ফাইল গুচ্ছ নির্মিত sourcedir
যেমন file1.bak
, file2.bak
এবংfile3 with spaces.bak
এখন আমি কমান্ডটি কার্যকর করেছি,
find . -name "*.bak" -print0 | xargs -0 -I {} mv {} /destdir/
এখন, ভিতরে destdir
যখন আমি কি ls
, আমি দেখতে পাই যে, ফাইল থেকে সরানো হয়েছে sourcedir
থেকে destdir
।
তথ্যসূত্র
http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/