আমি xargsবিকল্পটি ব্যবহার করছি --max-args=0(বিকল্পভাবে -P 0)।
যাইহোক, প্রক্রিয়াগুলির আউটপুট stdoutযথাযথ লাইন বিভাজন বিবেচনা না করে প্রবাহে একীভূত করা হয় । সুতরাং আমি প্রায়শই এর মতো লাইন দিয়ে শেষ করব:
<start-of-line-1><line-2><end-of-line-1>
আমি ব্যবহার করছি হিসাবে egrepসঙ্গে ^পুরো আমার প্যাটার্ন xargsআউটপুট এই আমার রেজাল্ট আপ তালগোল পাকানো হয়।
xargsপ্রক্রিয়া আউটপুটগুলি ক্রমানুসারে লিখতে বাধ্য করার কোনও উপায় আছে (কোনও ক্রম, যতক্ষণ না একটি প্রক্রিয়ার আউটপুটটি সামঞ্জস্যপূর্ণ)?
নাকি অন্য কোন সমাধান?
সম্পাদনা করুন: ব্যবহারের ক্ষেত্রে আরও বিশদ:
আমি বিভিন্ন হোস্ট থেকে ওয়েব পৃষ্ঠাগুলি ডাউনলোড এবং বিশ্লেষণ করতে চাই। প্রতিটি পৃষ্ঠা লোড হতে প্রায় এক সেকেন্ড সময় নেয় এবং কয়েক ডজন পৃষ্ঠাগুলি আমি অনুরোধগুলিকে সমান্তরাল করতে চাই।
আমার কমান্ডের নিম্নলিখিত রূপ রয়েছে:
echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \
wget -q -O- http://{}/somepage.html | egrep --count '^string'
আমি ব্যাশ ব্যবহার করি এবং পার্লের মতো কিছু না কারণ হোস্ট আইপি ($ আইপি ভেরিয়েবল) এবং কিছু অন্যান্য ডেটা একটি অন্তর্ভুক্ত ব্যাশ ফাইল থেকে আসে।
xargsএমন কোনও বৈশিষ্ট্য সরবরাহ করে বলে মনে হচ্ছে না।
make চাকরির বৈশিষ্ট্যটি , আমি মনে করি makeআউটপুট লাইনগুলি সঠিকভাবে মার্জ করে।
--line-bufferedপতাকা যুক্ত করছেegrep
xargs।