আমি একটি দূরবর্তী সার্ভারে একটি নির্বিচার পরিমাণের মধ্যে কতবার foo bar
উপস্থিত হয় তা দেখার চেষ্টা করছি /var/log/foo.log
, তবে আমি এখনও চেষ্টা করেছিলাম এমন কিছুই কার্যকর হয়নি।
আমি ইতিমধ্যে একটি টাইমার স্ক্রিপ্ট পেয়েছি যা আমি টেলিং শুরু করার পরে কতদিন হয়ে গেছে তা ট্র্যাক রাখতে ব্যবহার করি /var/log/foo.log
এবং এখন আমি কেবল একটি foo bar
লেখনির আউটপুটটিতে কতবার উপস্থিত হয়েছে তা বলার উপায় চাই ।
আমি গুগল অনুসন্ধান করেছি, তবে ফলাফলের প্রথম 10 পৃষ্ঠার মধ্যে আমি প্রাসঙ্গিক কোনও কিছু খুঁজে পাইনি।
হতাশার ফলাফল নিয়ে আমি যা চেষ্টা করেছি তা এখানে:
## works on local machine, but doesn't work as expected on remote
tail -f /var/log/foo.log | grep foo\ bar | sed '='
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | cat -n -
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | awk -F'\n' '{printf "[%d]> ", NR; print $1}'
আমি এমন একটি সিড স্ক্রিপ্টও লিখতে চেষ্টা করেছি যা এর মতোই কাজ করতে পারে tail -f
তবে আমি সেটির সাথে সীমিত-কোনও-অগ্রগতি তৈরি করেছি।
বিঃদ্রঃ
রিমোট সার্ভারটি কোরিউটিলসের একটি পুরানো সংস্করণ চলছে এবং আপগ্রেড করা একটি বিকল্প, তবে কোনওভাবেই পছন্দসই সমাধান নয় NOT
--line-buffered
বিকল্পটি চেষ্টা করে দেখুনgrep
। বাtail -f ... | awk '/foo bar/{print ++n, $0}'