मैं यह देखने की कोशिश कर रहा हूं कि एक दूरस्थ सर्वर पर कितनी बार मनमानी राशि के भीतर foo barदिखाई देता है /var/log/foo.log, लेकिन मैंने अब तक जो कुछ भी आजमाया है वह काम नहीं किया है।
मुझे पहले से ही एक टाइमर स्क्रिप्ट मिल गई है जिसका उपयोग मैं यह जानने के लिए करता हूं कि जब से मैंने पूंछना शुरू किया है, तब से कब तक है /var/log/foo.log, और अब मैं यह बताना चाहूंगा foo barकि टेल्ड आउटपुट में कितनी बार दिखाई दिया है।
मैंने Google खोजा, लेकिन मुझे परिणामों के पहले 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, लेकिन मैंने उसके साथ सीमित-से-कोई हेडवे नहीं बनाया।
ध्यान दें
दूरस्थ सर्वर coreutils के एक पुराने संस्करण चल रहा है, और उन्नयन के लिए एक विकल्प है, लेकिन है नहीं किसी भी तरह से वांछित समाधान।
--line-bufferedकरने के लिए विकल्प का प्रयास करेंgrep। याtail -f ... | awk '/foo bar/{print ++n, $0}'