পুচ্ছ আচরণ যুক্ত করা যেখানে প্রবেশ কম ফাঁকা লাইন যুক্ত করে


8

আমি পছন্দ করি less, যা আমি +Fপতাকা (বা ShiftFহটকি) দিয়ে লগগুলি অনুসরণ করতে , সামনের দিকে এবং পিছনের দিকে অনুসন্ধান করতে এবং ডকুমেন্টের মাধ্যমে অবাধে সরাতে পারি।

তবে এর মধ্যে একটি জিনিস অনুপস্থিত রয়েছে less: সাধারণত আমি ফাইলটির শেষে থাকি এবং আমি নতুন জিনিসগুলি দেখতে চাই। ইন tail -fআমি শুধু আঘাত করবে enterবেশ কয়েকবার, এবং নতুন লগ লাইন মাত্র পরিষ্কারভাবে পুরাতন লাইন থেকে পৃথক প্রদর্শিত হবে।

এটি কি যোগ করা সম্ভব less? কিভাবে?


আমি মনে করি না আপনি এটি করতে পারেন, যদিও মাঝে মাঝে আমি প্রতিধ্বনি-e \ n \ n \ n \ n >> n '>> / dev / pts / 0 উদাহরণস্বরূপ করব, এটি পরিষ্কার হিসাবে নয় তবে কমপক্ষে আমার দৃষ্টিভঙ্গি আছে যেখানে আমি দূরে তাকিয়ে যখন ছেড়েছিলাম।
ডেভিড হাউড

উত্তর:


6

এটি আসলে tailব্যবহারের নয় - এটি টার্মিনাল। লেজটি কেবলমাত্র স্টাডাউটে আউটপুট প্রবাহ পাঠাচ্ছে, যা আপনার টার্মিনালে যায় এবং আপনি এন্টার দিয়ে আঘাত করে সেই আউটপুটটির মাঝখানে ফাঁকা লাইন সন্নিবেশ করান। লেজ নিজেই আসলে আপনার কাছ থেকে ইনপুট গ্রহণ করছে না। আপনি যা চান তা টাইপ করতে পারেন এবং এটিও প্রদর্শিত হবে।

lessতবে এটি একটি কনসোল অ্যাপ্লিকেশন এবং এটি ইনপুট নেয় এবং এটি প্রক্রিয়া করে। এটি টার্মিনাল কন্ট্রোল সিকোয়েন্সগুলি ব্যবহার করে কনসোলটি পরিচালনা করছে, এটিই আপনি প্রায় স্ক্রোল করতে পারেন। আপনাকে স্ট্রিমের মধ্যে স্বেচ্ছাচারী অক্ষর sertোকানো দিলে ডিসপ্লেটি গোলমেলে উঠবে এবং যাইহোক প্রোগ্রামটি নিয়ন্ত্রণ করতে আপনার ইনপুটটি কম ব্যবহার করবে।

দুর্ভাগ্যক্রমে, বর্তমান অবস্থানটি চাক্ষুষভাবে চিহ্নিত করার কোনও উপায় বলে মনে হয় না। অর্থাৎ একটি ভয়ানক বৈশিষ্ট্য অনুরোধ নয় যদিও, এবং কম নেই এখনও সময় সময় নতুন বৈশিষ্ট্য পেতে।


কম ম্যানটেনারদের কাছে এই বৈশিষ্ট্যটির জন্য অনুরোধ করার জন্য আপনার কাছে কি একটি লিঙ্ক আছে?
ব্লুফাস্ট


4

আমি নিজের প্রশ্নটি নিজের জন্য একই উত্তর খুঁজতে গিয়ে খুঁজে পেয়েছি।

গৃহীত উত্তরে হতাশ হয়ে আমি একপর্যায়ে হাজির হয়েছি। এটি আদর্শের চেয়ে কম নয়, তবে এটি যে লগে অনুসরণ করছি তাতে আমার অবস্থান চিহ্নিত করতে দেয় lessযা পুরো বিষয়টি।

আমি marklogনিম্নলিখিত বিষয়বস্তু সহ একটি ছোট এক্সিকিউটেবল স্ক্রিপ্ট (আমি এটি বলেছিলাম ) তৈরি করেছি এবং এটি আমার পথে রেখেছি:

#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1

অবশ্যই, এটি কেবল তখনই কাজ করে যদি আপনার লগ ফাইলটিতে লেখার অ্যাক্সেস থাকে - যা অনেক পরিস্থিতিতে ডিল-ব্রেকার হতে পারে। আমি এই সংস্করণটিও তৈরি করেছি যা আমি নিজেরাই নেই এমন ফাইলগুলিতে লগ করতে লিখতে ব্যবহার করি (তবে এতে আমার সুডো অ্যাক্সেস রয়েছে):

#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"

এই স্ক্রিপ্টগুলি আমি যে ধরণের ভিজ্যুয়াল ব্রেকের সন্ধান করছিলাম তা সরবরাহ করে। আপনি এগুলি ব্যবহার করতে পারেন এমন কমপক্ষে 3 টি উপায় রয়েছে:

  1. আপনি যখন সাধারণত সাধারণত কয়েকবার এন্টার টিপেন তখন ব্যবহারের tail -fপরিবর্তে marklogঅন্য টার্মিনাল থেকে চালান (যুক্তি হিসাবে লগ ফাইলের পথ সরবরাহ করে)।

  2. CtrlZস্থগিত করার জন্য ব্যবহার করুন lessযাতে আপনি একই টার্মিনাল উইন্ডোতে স্ক্রিপ্টটি চালাতে পারেন, তবে আপনি যখন পূর্বে-পূর্বাভাস less( fgঅবশ্যই, ব্যবহার করছেন ) তখন এটি আর 'অনুসরণ' মোডে থাকবে না, তাই আপনাকে ShiftFআবার আঘাত করতে হবে ...

  3. চালান: - সর্বশেষে এবং এই সবচেয়ে সুবিধাজনক উপায়, কারণ আপনি লগ ফাইল পাথ টাইপ করতে হবে না হতে পারে marklogসরাসরি থেকে lessটাইপ করে !marklog %Lessএর জন্য বর্তমান ফাইলের নামটি প্রতিস্থাপন করবে %। তবে, lessসাড়া দেবে না! এটি 'ফলো' মোডে থাকাকালীন আপনাকে CtrlCফলো মোড থেকে প্রস্থান করার জন্য প্রথমে আঘাত করতে হবে, চালান !marklog %, তারপরে ShiftFআবার again

পদ্ধতি 3 এর সাহায্যে আপনি কম কমান্ডের ইতিহাসের যুক্ত বোনাসও পাবেন: সবেমাত্র চাপুন !এবং তারপরে সাম্প্রতিক কমান্ডটি নির্বাচন করতে আপ-তীরটি ব্যবহার করুন (আমার জন্য এটি সর্বদা marklog) always

আশা করি এটি ইতিমধ্যে আমাকে যেমন সহায়তা করেছে তেমন কাউকে সহায়তা করবে।


1

ফাইলের শেষে Shift+ টিপুন Fএবং আরও কম হিসাবে কাজ শুরু হবে tail -f


2
না, তা হবে না। এটি নতুন লাইন অনুসরণ করবে, তবে এটি তেমন কার্যকর হবে না tail -f। বিশেষত এটি নতুন লাইন হিসাবে প্রবেশকে গ্রহণ করবে না, যা আমার প্রশ্নের একমাত্র পয়েন্ট is তদ্ব্যতীত, আমি ইতিমধ্যে Shift+Fপ্রশ্নটিতে উল্লেখ করেছি (একটি ছোট ত্রুটি সহ, আমাকে অবশ্যই বলতে হবে)
ব্লু ফাস্ট

1

আমি মনে করি না আপনি এটি করতে পারেন। আমি ব্যবহার করেছি mএবং 'আগ্রহের জায়গাগুলি চিহ্নিত করেছি এবং তারপরে সেগুলি আবার পেয়েছি তবে এটি আপনাকে যে বিচ্ছিন্নতা চেয়েছে তা দেয় না। সম্ভবত মাল্টিটেলের মতো কিছু আপনি যা করতে চান তা করবে।


-1

ল্যাম্বার্টের উত্তর আমার প্রিয় সমাধানে নিয়ে আসে। থ্যামস টু ল্যামবার্ট!

কেবল অনুসরণ মোডটি ইন্টারপুট করুন ctrlcএবং প্রবেশ করুন !printf "\n\n---$(date)---\n\n" >> %। এর পরে আপনাকে enterআরও একবার চাপতে হবে এবং shiftfফাইলটি অনুসরণ করে আবার শুরু করতে হিট করতে হবে।

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