কম ব্যবহার করে কোন পাইপ অনুসরণ করবেন?


25

পাইপযুক্ত ইনপুট (কোনও ফাইলের অনুরূপ) কম (এফ টিপে) অনুসরণ করা যায়? যে ফাইলটি লিখিত হচ্ছে তার জন্য, কমান্ড

less <file>

এফ টিপে যখন ফাইল অনুসরণ করবে।

তবে যদি আমার কাছে কোনও কমান্ড থাকে যা পাইপগুলি আউটপুটটিকে কম কমিয়ে দেয় like

command | less

এফ টিপলে কিছুই হবে না।

সুতরাং দেখে মনে হচ্ছে যে পাইপগুলি ফাইলের মতো অনুসরণ করা যায় না? অথবা এটি কমান্ড এছাড়াও এসটিডিআরআর লিখতে হবে? আমি যে প্রভাবটি অর্জন করতে চাইছি তা হ'ল সর্বদা কমান্ডের সর্বশেষ আউটপুট দেখতে পাওয়া যায়: ঠিক যেমন পেজডাউন টিপে রাখা!

একটি সম্পর্কিত মন্তব্য জি এর জন্য ধারণ করে (শেষ পর্যন্ত যান): সরাসরি কমে পাইপ দিলে এটি কাজ করবে না।


উত্তর:


21

টিপলে Fবা Gতোলে lessইনপুট ফাইলের শেষে পৌঁছানোর চেষ্টা করুন। যদি ইনপুটটি পাইপ হয়, lessঅন্যদিকে পাইপটি বন্ধ না হওয়া পর্যন্ত স্তব্ধ হয়ে যায় (এবং "কিছুই করে না")।

পটভূমিতে একটি অস্থায়ী ফাইলে কমান্ড আউটপুট সংরক্ষণ করে এবং তারপরে এটির জন্য ইনপুট হিসাবে ব্যবহার করে এটি প্রায় কাজ করা যেতে পারে less:

command > /tmp/x &
less +F /tmp/x; kill %; rm /tmp/x

কেবল এটি করার কোনও বিকল্প নেই less; তবে আমি স্বীকার করি এটি কার্যকর হবে।


যদি ইনপুটটি পাইপ হয়, lessঅন্যদিকে পাইপটি বন্ধ না হওয়া পর্যন্ত স্তব্ধ হয়ে যায় । এ ধরণের বিভ্রান্তিমূলক বক্তব্য। কি হবে কম কল হয় readএকটি অবরোধ মোডে, নতুন ডেটা জন্য অপেক্ষা বা বা পাইপ এর বন্ধ।
পাইটর ডব্রোগোস্ট

3
পাইপ ইনপুট নেভিগেশন এফ বা জি টিপানোর পরে lessকেবল একটি ব্লকিং পড়তে পারে না, তবে এটি ইওএফের জন্য অপেক্ষা করে লুপে করে। এবং কোনও পাইপের একটি ইওএফ কেবল তখনই ঘটে যখন এর অন্য দিকটি বন্ধ থাকে।
মিক

3
যদি lessসেই লুপটিতে স্ক্রিন আপডেট হয় তবে সমস্যা হবে না। এই সমস্যাটির সাথে পঠনবন্ধন অবরুদ্ধ করার সামান্য যোগ নেই।
মিক

1
@ এটি প্রাসঙ্গিক প্রশ্নটি যে প্রশ্নটি ছিল তা নয়, তবে কেবলমাত্র একটি অপেক্ষা যা এই পরিস্থিতিতে প্রত্যাশিত - ইওএফ পৌঁছলে ফাইলের আরও ডেটার জন্য অপেক্ষা (যা কোনও বন্ধ পাইপের জন্য ঘটবে না), বা কোনও বাধা অনুসরণের মোডে বেরিয়ে আসার জন্য
mik

1
@ পাইওটারডব্রোগস্ট ব্লক রিড সহ lessপর্দা আপডেট করতে সক্ষম হবেন না, যদি কোনও ডেটা না থাকে; যখন কিছু ডেটা উপস্থিত হয়, পঠন অবরুদ্ধ করা এটিকে ফিরিয়ে lessদেবে , এবং পৃথক থ্রেড ছাড়াই পর্দা আপডেট করতে সক্ষম হবে
মিক

6

পাইপযুক্ত ইনপুট (কোনও ফাইলের অনুরূপ) কম (এফ টিপে) অনুসরণ করা যায়?

হ্যাঁ, সংস্করণ 474 দিয়ে শুরু করুন However তবে এটির কোনও সংস্করণ প্রকাশের নোটগুলিতে এখনও উল্লেখ করা হয়নি কারণ বর্তমানে এই বৈশিষ্ট্যটির সাথে একটি সমস্যা রয়েছে। নীচে কম রক্ষণাবেক্ষণকারীদের একটি মন্তব্য দেওয়া হয়েছে - মার্ক নুডেলম্যান:

পাইপগুলিতে এফ কমান্ড সম্পর্কে, এটি কম -444-এও স্থির করা হয়েছে। ইওএফ-তে অনুসন্ধান করার পরিবর্তে, এফ কমান্ডটি বাফার ইনপুটটি শেষ করার চেষ্টা করে এবং সেখানে পড়া শুরু করে। তবে এটি সত্যিই ব্যবহারযোগ্য নয় কারণ আপনি যখন F কমান্ড বন্ধ করতে CTRL-C টি চাপেন তখন এটি উত্পাদন প্রক্রিয়াটিকে মেরে ফেলে। আমি কীভাবে এটি ঠিক করব তা নিশ্চিত নই।

যতক্ষণ না এই সমস্যাটি কম সংশোধন করা হয় ততক্ষণ শেল বৈশিষ্ট্যগুলি ব্যবহার করে এটি একে একে আলাদা করতে পারে। আমার দেখুন উত্তর করার আছে পাইপে প্রক্রিয়া বাঁধন ছাড়া প্রস্থান কোন ভাবেই "কম" অনুসরণ মোড? বিশদ জন্য প্রশ্ন।

রেফারেন্সের জন্য, পাইপগুলির সাথে F কাজ না করে ইস্যুটির 300 টি পরিচিত বাগের তালিকার রেফারেন্স নম্বর রয়েছে এবং শিরোনামটি দেওয়া আছে F কমান্ড পাইপযুক্ত ইনপুটটিতে কাজ করে না।


একটি সম্পর্কিত মন্তব্য জি এর জন্য ধারণ করে (শেষ পর্যন্ত যান): সরাসরি কমে পাইপ দিলে এটি কাজ করবে না।

এটি 466 সংস্করণ থেকে শুরু করে কাজ করে। এই সংস্করণটির জন্য প্রকাশিত নোট থেকে উদ্ধৃতি দেওয়া :

নতুন কমান্ড ESC-G একটি পাইপে বর্তমানে বাফার ডেটা শেষ করতে যায়


ইসি-জি কমান্ডটি 23 আগস্ট 2014
মিক

@ এমিক তখন 471 সংস্করণটির রিলিজ নোটগুলিতে একটি ত্রুটির মতো দেখায়। ধন্যবাদ, স্থির।
পাইওটর ডব্রোগোস্ট

কোনও ত্রুটি নয়, তারা কেবল স্থিতিশীল প্রকাশের পরে, পরিবর্তনগুলি ক্রমে তালিকাভুক্ত করে 458 সংস্করণে এই ক্ষেত্রে। তবে, ইসি-জি কমান্ডের সাথে কোনও স্থিতিশীল মুক্তি নেই।
মিক

ইসি-জি কমান্ড এখন স্থিতিশীল প্রকাশে রয়েছে (481): "16 ই অক্টোবর 2015 কম-481 সাধারণ ব্যবহারের জন্য প্রকাশ করা হয়েছে"।
মিক

আপডেট: পাইপগুলিতে এফ কমান্ড সম্পর্কিত, এটিও কম -444-এ স্থির করা হয়েছে। ইওএফ-তে অনুসন্ধান করার পরিবর্তে, এফ কমান্ডটি বাফার ইনপুটটি শেষ করার চেষ্টা করে এবং সেখানে পড়া শুরু করে। তবে এটি সত্যিই ব্যবহারযোগ্য নয় কারণ আপনি যখন F কমান্ড বন্ধ করতে ctrl-C চাপান তখন এটি উত্পাদন প্রক্রিয়াটিকে মেরে ফেলে। আমি কীভাবে এটি ঠিক করব তা নিশ্চিত নই। - মার্ক নুডেলম্যান, কম রক্ষণাবেক্ষণকারী
পাইওটর ডব্রোগোস্ট

2

কম মানুষ পৃষ্ঠা থেকে

[Keyboard] COMMANDS [...]

   F      Scroll  forward, and keep trying to read when the end of file is reached.  Normally this command would be used when already
          at the end of the file.  It is a way to monitor the tail of a file which is growing while it is being viewed.  (The  behav‐
          ior is similar to the "tail -f" command.)

সুতরাং এটি কাজ করা উচিত, এবং এটি আসলে আমার জন্য কাজ করে।


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