এটি findসরাসরি ব্যবহার থেকে করা যেতে পারে -exec:
find . -name "*.xml" -type f -exec xmllint --output '{}' --format '{}' \;
যা যা পাস হয়েছে -execতা প্রতি ফাইলের জন্য একবার ব্যবহার করা হবে {}যা বর্তমান ফাইলের নামের সাথে টেমপ্লেটের পরামিতিগুলি প্রতিস্থাপন করা হবে। \;Find কমান্ডের প্রান্তে শুধু লাইন বন্ধ।
এই ক্ষেত্রে ব্যবহারটি xargsসত্যই প্রয়োজনীয় নয় কারণ xmllintইনপুট এবং আউটপুট ফাইলের নাম উভয়ই একই কলটির মধ্যে নির্দিষ্ট করতে হবে বলে আমাদের প্রতি ফাইল প্রতি একবার আবেদন করতে হবে।
xargsযদি কমান্ডটি পাইপ করা হয় তখন যদি প্রয়োজন হয় যে একবারে একাধিক ফাইলে কাজ করা ছিল এবং সেই তালিকাটি দীর্ঘ ছিল। আপনি এই ক্ষেত্রে এটি করতে পারবেন না, যেহেতু আপনার একক ফাইলের নামটি --outputঅপশনটিতে পাস করতে হবে xmllint। xargsযদি আপনি প্রচুর ফাইল প্রক্রিয়াকরণ করেন তবে আপনি "আর্গুমেন্ট তালিকা খুব দীর্ঘ" ত্রুটিটি শেষ না করেই করতে পারেন। বিকল্পের xargsসাহায্যে ফাইল প্রতিস্থাপনের স্ট্রিংগুলিকে সমর্থন করে -I:
find . -name "*.xml" -type f | xargs -I'{}' xmllint --output '{}' --format '{}'
find -execউপরের আদেশ হিসাবে একই কাজ করবে । আপনার ফোল্ডার কোনো শূণ্যস্থান মত অদ্ভুত অক্ষর থাকে, তাহলে আপনি ব্যবহার করতে হবে -0এর অপশন findএবং xargs। কিন্তু ব্যবহার xargsসঙ্গে -Iবিকল্প বোঝা -L 1যার অর্থ শুধুমাত্র যাহাই হউক না কেন একটি সময়ে 1 টি ফাইল প্রক্রিয়া করবো, যাতে আপনি সেইসাথে সরাসরি ব্যবহার করতে পারেন findসঙ্গে -exec।