আমার এই লেখার সময়, গৃহীত উত্তরের বাক্য গঠনটি বেশিরভাগের পক্ষে ভুল ছিল, যদি সব না হয় তবে বোর্ন-উদ্ভূত শেলস সহ bash
। আমি শীর্ষে একটি সম্পাদনার পরামর্শ দিয়েছি এবং এটি ঠিক করার জন্য জবাব গ্রহণ করেছি, তবে আমি এই সমস্ত তথ্য যুক্ত করতেও আগ্রহী ছিলাম, এবং এটি সম্পাদনার পরিবর্তে পুনর্লিখনের আরও বেশি কিছু হত।
আপনি যৌগিক আদেশগুলি ব্যবহার করতে পারেন:
{ grep ...; bzgrep ...; } >file
.. অথবা সাবশেল (কোঁকড়া ধনুর্বন্ধনী পরিবর্তে প্রথম বন্ধনী নোট করুন):
(grep ...; bzgrep ...) >file
কমান্ডগুলি গোষ্ঠীভুক্ত করুন। সাব-শেল ওয়েতে আরও ভাল সিনট্যাক্স রয়েছে (হোয়াইটস্পেসের অভাবে আরও ক্ষমা এবং আপনাকে শেষ সেমিকোলন বাদ দিতে দেয়) তবে এটি হয় একটি নতুন প্রক্রিয়া কাঁপায়, অথবা একটি পরিষ্কার পরিবেশে কমান্ডগুলি চালিয়ে "ভান" করে। আপনি কী করতে চান তার উপর নির্ভর করে উভয়েরই সুবিধা রয়েছে, যা এখানে গুরুত্বপূর্ণ নয়, তবে আপনি যদি শেলটির সাথে আরও দক্ষতা চান তবে সন্ধান করা মূল্যবান।
দ্রষ্টব্য: আপনি এই কৌশলগুলি দিয়ে পাইপলাইনও ব্যবহার করতে পারেন, সুতরাং আপনি এরকম কিছু করতে পারেন:
{ grep ...; bzgrep ...; } | less
দ্রষ্টব্য যদি আপনি আপনার মিলিত আউটপুটে ম্যাচের ক্রম যত্ন সম্পর্কে না, আপনি একটি একক ব্যবহার করতে পারে &
দুই কমান্ড মধ্যে তাই মত: { grep ... & bzgrep ...; }
। তারপরে দুটি কমান্ড একই সাথে চলবে: grep
শুরু হয়ে যায় এবং শেলটি এটি পটভূমিতে রাখে, তারপরে শেলটি চালিত হবে bzgrep
। (তবে ফাইলের পুনঃনির্দেশ এবং ফাইল স্ট্রিম বাফারিংয়ের সাথে সম্পর্কিত একটি ব্যাখ্যা রয়েছে যার ফলে আউটপুট ফাইলের লাইনগুলির খুব সামান্য অংশ বিভক্ত / জঞ্জাল হয়ে পড়েছে: আপনি কী দেখতে পান এটি নির্ভর করে কিভাবে আপনার grep
, bzgrep
, এবং libc
stdio.h
ফাংশনগুলি বাস্তবায়িত হয় most বেশিরভাগ বাস্তবায়নে, আমি বিশ্বাস করি কোনও ফাইলে পুনর্নির্দেশের আগে কমান্ডটি পাইপ করা সমস্যা এড়াতে পারে, তাই আপনি কাজটি { foo & bar; } | cat - >file
হিসাবে কাজ করতে পারেন ))