আমি কীভাবে এক সাথে অন্য দুটি কমান্ডের ইনপুটটিতে একটি কমান্ডের আউটপুট পাইপ করব?
আমি কীভাবে এক সাথে অন্য দুটি কমান্ডের ইনপুটটিতে একটি কমান্ডের আউটপুট পাইপ করব?
উত্তর:
মনে হচ্ছে tee
কমান্ডটি যা চাইবে তা করবে।
কী ব্যবহার করা হয়
>( )
জন্য প্রক্রিয়া প্রতিকল্পন । সহ tee
, নিম্নলিখিত প্যাটার্নটি ব্যবহার করুন:
tee >(proc1) >(proc2) >(proc3) | proc4
সুতরাং আপনি যদি আউটপুটটিকে ls
দুটি পৃথক grep
প্রোগ্রামের ইনপুট হিসাবে ব্যবহার করতে চান , তবে প্রতিটিটির আউটপুট grep
বিভিন্ন ফাইলগুলিতে সংরক্ষণ করুন এবং ফলাফলগুলির সমস্ত পাইপ ব্যবহার less
করে দেখুন:
ls -A | tee >(grep ^[.] > hidden-files) >(grep -v ^[.] > normal-files) | less
এর ফলাফলগুলি ls -A
উভয় ক্ষেত্রেই "পাইপযুক্ত" হবে grep
। ফাইল hidden-files
প্রথম আউটপুট সামগ্রী থাকবে grep
, এবং normal-files
দ্বিতীয় ফলাফল থাকবে grep
। ফাইলগুলির সমস্ত প্যাজারে প্রদর্শিত হবে সম্পাদনা : আপনি দেখতে less
।less
হয় একই সঠিক আউটপুট এর ls -A
, না ফল grep
সে। আপনার কাছ থেকে আউটপুট পরিবর্তন করতে চান তাহলে ls -A
করতে less
, (যেমন সোয়াপিং অর্ডার তাই স্বাভাবিক ফাইল লুকানো বেশী সামনে তালিকাভুক্ত করা হয়) তাহলে এই চেষ্টা:
ls -A | tee >(grep ^[.]) >(grep -v ^[.]) >/dev/null | less
ছাড়া >/dev/null
, আউটপুট grep
s এর আউটপুট যোগ করা হবে ls -A
প্রতিস্থাপন পরিবর্তে।
"টি" ব্যবহার করুন।
উদাহরণ:
grep someSearchString someFile | tee /dev/tty | wc -l > grepresult
এই উভয় টার্মিনালে এবং grep কমান্ড প্রয়োগ আউটপুট পাঠাব wc- (যার আউটপুট ঘুরে ফাইল grepresult থেকে আপনাকে পুনঃনির্দেশিত করা হয়)।
"টি" উইকিপিডিয়া নিবন্ধ টি (কমান্ড) এ ব্যাখ্যা করা হয়েছে । কেন্দ্রীয়টি হ'ল: "টি কমান্ড স্ট্যান্ডার্ড ইনপুটটি পড়বে, তারপরে তার সামগ্রীটি স্ট্যান্ডার্ড আউটপুটে লিখে এবং একই সাথে নির্দিষ্ট ফাইল (গুলি) বা ভেরিয়েবলগুলিতে অনুলিপি করে।"