'মাথা' বিকল্প যে প্রস্থান করে না?


13

আমার একটি ইউটিলিটি দরকার যা প্রথম এন লাইনগুলি মুদ্রণ করবে তবে তারপরে চালিয়ে যেতে হবে, বাকী রেখাগুলি চুষতে হবে, তবে সেগুলি মুদ্রণ করছে না। আমি এটি চালিয়ে যেতে হবে এমন প্রক্রিয়াটির আউটপুট দিয়ে টার্মিনালটিকে অভিভূত না করার জন্য এটি ব্যবহার করি (এটি কোনও ফাইলে ফলাফল লিখে)।

আমি অনুভব করতে পারি যে আমি করতে পারি process | {head -n 100; cat > /dev/null}, তবে আরও কি মার্জিত কিছু আছে?


2
প্রক্রিয়া মাথার পরে চলতে থাকবে, এটি টার্মিনালে আর মুদ্রণ করবে না।
123

7
আপনি আসলে কোন সমস্যাটি সমাধান করার চেষ্টা করছেন?
স্যাটা ক্যাটসুরা

2
এগুলো চুষতে চাওয়ার মানে কী? আপনি যদি কেবল পাইপ করতে চান তবে অবশিষ্ট আউটপুট খারিজ করা হবে।
জুলি পেলেটিয়ার

7
@ জুলিপেল্টিয়ার এবং স্টাডাউট বন্ধ হয়ে যাবে এবং ভাল-লিখিত প্রোগ্রামগুলি (যেগুলি যেভাবেই কেবল স্টডআউটকে লেখেন) তা লক্ষ্য করবে এবং তাড়াতাড়ি শেষ হবে।
ক্যাস

@castrap '' PIPE
Sato কাতসুরা

উত্তর:


22

processকেবল প্রথম 100 (বা যাই হোক না কেন) লাইনগুলি মুদ্রণের সময় থেকে আউটপুটটিকে "চুষতে" চালিয়ে যেতে :

process | awk 'NR<=100'

বা:

process | sed -n '1,100p'

13
আমি সাধারণত ব্যবহার করি... | tee /dev/null | head ...
ডেভিড শোয়ার্জ

2
@ ডেভিডশওয়ার্টজ হ্যাঁ - এটি আমিই করতাম। আরও বেশি পছন্দনীয়, যেহেতু আপনি কোনও ফাইলে সমস্ত আউটপুটও ডাম্প করতে পারেন এবং পরবর্তী সময়ে এটি পরীক্ষা করতে পারেন। কখনই এটির প্রয়োজন হবে তা আপনি কখনই জানেন না - আরও খারাপটি আপনার কাছে এমন একটি ফাইল রয়েছে যার চারপাশে আপনি মাঝেমধ্যে ওভাররাইট করে ফেলেন, সর্বোপরি আপনি কী / কেন ঘটেছে তা বিশ্লেষণ করার জন্য এটি লগ হিসাবে ব্যবহার করতে পারেন।
VLAZ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.