সংক্ষিপ্ত উত্তর
জিএনইউ সমান্তরালে চমৎকার বিকল্পগুলির একটি সেট রয়েছে যা এ জাতীয় কাজগুলি করা সহজ করে তোলে:
parallel --tagstring "{}:" --line-buffer tail -f {} ::: one.log two.log
আউটপুটটি হবে:
one.log: এক.লগের বিষয়বস্তু এখানে ...
one.log: এক.লগের বিষয়বস্তু এখানে ...
two.log: two.log এর বিষয়বস্তু এখানে ...
two.log: two.log এর বিষয়বস্তু এখানে ...
আরও ব্যাখ্যা
- বিকল্পটি
--tagstring=str
প্রতিটি আউটপুট লাইনে স্ট্রিং স্ট্র সঙ্গে ট্যাগ করে । parallel
ম্যান পৃষ্ঠা থেকে :
--tagstring str
স্ট্রিং সহ লাইনগুলি ট্যাগ করুন। প্রতিটি আউটপুট লাইন দিয়ে আবার চাপ দেওয়া হবে
str এবং TAB (\ t)। str এ প্রতিস্থাপন স্ট্রিং যেমন {} থাকতে পারে}
-u, --onall এবং --nonall ব্যবহার করার সময় --tagstring এড়ানো হবে।
সমস্ত ঘটনা {}
সমান্তরাল যুক্তিগুলির দ্বারা প্রতিস্থাপন করা হবে যা এই ক্ষেত্রে লগ ফাইলের নাম; যেমন one.log
এবং two.log
(পরে সমস্ত যুক্তি :::
)।
বিকল্পটি --line-buffer
প্রয়োজনীয় কারণ কোনও কমান্ডের আউটপুট (যেমন tail -f one.log
বা tail -f two.log
) মুদ্রণ হবে যদি সেই কমান্ডটি শেষ হয়। যেহেতু tail -f
ফাইল বৃদ্ধির জন্য অপেক্ষা করবে, --line-buffer
তাই লাইন ভিত্তিতে আউটপুট প্রিন্ট করা প্রয়োজন যা এটি করে। parallel
ম্যান পেজ থেকে আবার :
- লাইন-বাফার (আলফা পরীক্ষা)
লাইনের ভিত্তিতে বাফার আউটপুট। --গ্রুপ আউটপুট রাখবে
পুরো কাজের জন্য একসাথে --ungroup আউটপুট সাথে মিশ্রিত করতে দেয়
একটি কাজ থেকে আসা অর্ধেক লাইন এবং অর্ধেক লাইন আসছে
অন্য চাকুরী. - লাইন-বাফার এই দুটিয়ের মধ্যে ফিট করে: জিএনইউ সমান্তরাল
একটি সম্পূর্ণ লাইন মুদ্রণ করবে, তবে এর লাইন মিশ্রনের অনুমতি দেবে
বিভিন্ন কাজ
-v
লেজের জন্য (ভার্বোস) বিকল্পটি দেখতে পারেন । এটি আপনার জিজ্ঞাসার সাথে ঠিক মেলে না, তবে এটি শুরু।