উত্তর:
প্রথম জিনিস টাইপ করুন:
man find
man xargs
findডিফল্টরূপে মানক আউটপুটে কমান্ড কপি করে প্রিন্ট ফলাফল, তাই -printবিকল্প স্বাভাবিকভাবে প্রয়োজন না হয়, কিন্তু -print0একটি 0 (শূন্য) বাইট সঙ্গে ফাইলের নামের আলাদা যাতে নাম স্পেস বা নতুন লাইন ধারণকারী সঠিকভাবে ব্যাখ্যা করা যেতে পারে।
-execবিকল্প কিছু xargs পরিবর্তে ব্যবহার করতে পারেন - find কমান্ডের এটা খুঁজে বের করে প্রতিটি আইটেমের জন্য কমান্ড সঞ্চালন করে।
xargsকমান্ড লেখা SPACE- বা সম্পর্কে newline বিভাজিত স্ট্রিং (সাধারণত থেকে খোঁজ কমান্ড, কিন্তু তারা যে কোন জায়গা থেকে আসতে পারে) এবং প্রতিটি পংক্তি জন্য কিছু কমান্ড সঞ্চালন করে।
যদি xargs -0 বিকল্পের সাহায্যে চালিত হয় তবে এটি আউটপুট হিসাবে নুল-বিচ্ছিন্ন স্ট্রিংগুলি আশা করেfind ... -print0
Xargs এর সুবিধাটি হ'ল এটি স্ট্রিংগুলি একসাথে গ্রুপ করতে পারে, যাতে এটি কেবল n বারের পরিবর্তে একবার বা দু'বার কমান্ড কার্যকর করে ।
তাই সাধারণ ব্যবহারে:
find start_directory -name '*.txt' | xargs ls -l
ফাইলের নামগুলি সন্ধান করবে এবং xargs কমান্ড জারি করবে:
ls -l file1.txt file2.txt file3.txt ... fileN.txt
আপনার অনুসন্ধান আদেশটি জারি করার চেয়ে দ্রুত যা:
ls -l file1.txt
ls -l file2.txt
ls -l file3.txt
ls -l ...
ls -l fileN.txt
নোট করুন যে বর্তমান সন্ধানের বাস্তবায়নগুলির সাথে xargs আর প্রয়োজন নেই যা সম্ভবত সকলেই এই পসিক্স সিনট্যাক্সকে সমর্থন করে:
find directory -name '*.txt' -exec ls -l {} +
যা জার্গেস বৈকল্পিকের চেয়ে সহজ এবং সামান্য দ্রুত।
find directory -name '*.txt' | xargs ls -l
নিম্নলিখিত নিবন্ধগুলি দেখুন:
লিনাক্স এবং ইউনিক্স উদাহরণস্বরূপ কমান্ড টিউটোরিয়ালটি আবিষ্কার করে
: কীভাবে কমান্ড লাইন আর্গুমেন্টগুলি নিয়ন্ত্রণ ও ব্যবহার করতে হয়