0

tail -fを使用してログファイルを追跡し、grepでフィルタリングしようとしています。

tail -f <log-file> | grep -F '<some string>'

stdoutで新しい行を取得するのではなく、同じ行で出力を更新したい。これは、grepが一致するものを見つけるたびに変化する出力の行がstdoutに1行しかないことを意味します。

改行をフィルタリングして、次のようないくつかのコマンドでキャリッジリターンを追加しようとしましたprinft, sed, awk, echoが、機能しませんでした。私はAIXマシンを使用しているため、grepまたはその他のコマンドのすべてのマンページオプションがサポートされているわけではありません。

手伝ってくれてありがとう!

4

2 に答える 2

0

インストールしていwatchますか?あなたが何を求めているのか理解できた場合 (そして、私が理解したかどうかはわかりません)、次のようなものを実行できます。

watch "tail -f <log-file> | grep -F '<some string>'"

于 2013-02-27T16:55:56.630 に答える
0

これをやってみてください:

tail -f <logfile> | awk '/some string/{system("");printf "\r%s", $0}'

system("")バッファリングを避けるためのちょっとしたハックです。

于 2013-02-27T16:54:11.680 に答える