ম্যানুয়েল পৃষ্ঠা (অথবা অনলাইন গনুহ ম্যানুয়াল ) প্রায় কাছাকাছি সবকিছু ব্যাখ্যা করে।
Find -exec কমান্ড {} \;
প্রতিটি ফলাফলের জন্য, command {}
কার্যকর করা হয়। সমস্ত উপস্থিতি {}
ফাইলের নাম দ্বারা প্রতিস্থাপন করা হয়। ;
শেলটিকে ব্যাখ্যার হাত থেকে বাঁচাতে একটি স্ল্যাশের সাথে উপসর্গযুক্ত।
find -exec কমান্ড {} +
প্রতিটি ফলাফল সংযোজন করা হয় command
এবং তারপরে কার্যকর করা হয়। কমান্ডের দৈর্ঘ্যের সীমাবদ্ধতাগুলি বিবেচনায় নিয়ে আমি অনুমান করি যে ম্যানুয়াল পৃষ্ঠাটি আমাকে সমর্থন করে এই কমান্ডটি আরও একবার কার্যকর করা যেতে পারে:
কমান্ডের অনুরোধের মোট সংখ্যা মিলিত ফাইলগুলির সংখ্যার তুলনায় অনেক কম হবে।
ম্যানুয়াল পৃষ্ঠা থেকে এই উদ্ধৃতিটি নোট করুন:
কমান্ড লাইনটি একইভাবে নির্মিত হয়েছে যেমন xargs তার কমান্ড লাইনগুলি তৈরি করে
এটা কেন কোন অক্ষরের মধ্যে অনুমতি দেওয়া হয় এর {}
এবং +
হোয়াইটস্পেস ছাড়া। +
আর্গুমেন্টগুলি ঠিক একইভাবে কমান্ডে যুক্ত করা উচিত তা সনাক্ত করে xargs
।
সমাধান
ভাগ্যক্রমে, এর GNU বাস্তবায়ন mv
উভয় -t
বা দীর্ঘতর পরামিতি সহ টার্গেট ডিরেক্টরিটিকে আর্গুমেন্ট হিসাবে গ্রহণ করতে পারে --target
। এর ব্যবহার হবে:
mv -t target file1 file2 ...
আপনার find
আদেশটি হয়ে যায়:
find . -type f -iname '*.cpp' -exec mv -t ./test/ {} \+
ম্যানুয়াল পৃষ্ঠা থেকে:
-exec আদেশ;
আদেশ কার্যকর; যদি 0 স্ট্যাটাস ফিরে আসে তবে সত্য To; 'সমন্বিত একটি যুক্তি না পাওয়া পর্যন্ত অনুসন্ধানের জন্য নিম্নলিখিত সমস্ত যুক্তি কমান্ডের পক্ষে যুক্তি হিসাবে নেওয়া হবে; সম্মুখীন হয়। স্ট্রিং `{} 'বর্তমান ফাইলের নাম দ্বারা যেখানেই ব্যবহৃত হয় সেখানেই এটি প্রসেস করা হবে যেখানে এটি কমান্ডের আর্গুমেন্টগুলিতে দেখা যায়, যেখানে এটি একা রয়েছে সেখানে কেবল আর্গুমেন্টে নয় find এই দুটি নির্মাণই শেল দ্বারা সম্প্রসারণ থেকে রক্ষা পেতে (a \ 'দিয়ে) বা উদ্ধৃত হওয়া প্রয়োজন হতে পারে। এক্সেক্স বিকল্পটি ব্যবহারের উদাহরণগুলির জন্য উদাহরণ বিভাগটি দেখুন। নির্দিষ্ট কমান্ডটি প্রতিটি মিলিত ফাইলের জন্য একবার চালানো হয়। কমান্ডটি শুরু ডিরেক্টরিতে কার্যকর করা হয়। অযৌক্তিক অ্যাকশন ব্যবহারের আশেপাশে অনিবার্য সুরক্ষা সমস্যা রয়েছে; পরিবর্তে আপনার -execdir বিকল্পটি ব্যবহার করা উচিত।
-exec কমান্ড {} +
এই-এক্সেক অ্যাকশনের এই রূপটি নির্বাচিত ফাইলগুলিতে নির্দিষ্ট কমান্ড চালায়, তবে প্রতিটি নির্বাচিত ফাইলের নাম শেষে অন্তর্ভুক্ত করে কমান্ড লাইনটি নির্মিত হয়; কমান্ডের অনুরোধের মোট সংখ্যা মিলিত ফাইলগুলির সংখ্যার তুলনায় অনেক কম হবে। কমান্ড লাইনটি একইভাবে নির্মিত হয়েছে যেমন xargs তার কমান্ড লাইনগুলি তৈরি করে। কমান্ডের মধ্যে কেবলমাত্র one {} 'এর একটি উদাহরণ অনুমোদিত। কমান্ডটি শুরু ডিরেক্টরিতে কার্যকর করা হয়।