リモートサーバー上で、任意の時間内に何回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}'
私はのような振る舞いをするsedスクリプトを書きさtail -f
えしようとしましたが、私はそれで前進を制限しました。
注意
リモートサーバーは古いバージョンのcoreutilsを実行しており、アップグレードはオプションですが、決して望ましい解決策ではありません。
--line-buffered
オプションを試してくださいgrep
。それともtail -f ... | awk '/foo bar/{print ++n, $0}'