14

Linux サーバー内でログが生成される Java EE アプリケーションに取り組んでいます。

コマンドを使用しましたtail -f -n -10000 MyLog 。そのログ ファイルから最後の 1000 行を表示しました。

ここで、Putty で Ctrl + c を押して、ログの更新を切断しました (新しい要求で更新される可能性があり、データが失われるのではないかと心配しています)。

表示された結果で、特定のキーワードを検索するにはどうすればよいですか?? (検索に/文字列名を使用しましたが、機能していません)

4

5 に答える 5

16

ふたつのやり方:

tail -n 10000 MyLog| grep -i "search phrase"

tail -f -n 10000 MyLog | less

2 番目の方法では、/ で検索できます。下にしか検索されませんが、g を押すと先頭に戻ることができます。

編集:テストでは、方法2はうまく機能しないようです...ファイルの最後に到達すると、tailコマンドをctrl + cするまでフリーズします。

于 2012-04-27T12:03:31.330 に答える
15

出力を PAGER にパイプします。

tail -f -n LINE_CNT LOG_FILE | less

その後、使用できます

/SEARCH_STRING
于 2012-04-27T12:00:21.267 に答える
1

tailからの出力を検索ユーティリティ (例: )にリダイレクトする必要がありますgrep。これは 2 つの手順で行うことができます。出力をファイルに保存してから、ファイル内を検索します。または一度に:出力を検索ユーティリティにパイプします

ファイルに何が入っているかを確認するには (Ctlr+c を押すことができます)、次のteeコマンドを使用して、出力を画面とファイルに複製します。

tail -f -n -10000 MyLog | tee <filename>

次に、ファイル内を検索します。

結果を検索ユーティリティにパイプしたい場合は、上記と同じトリックを使用できますが、代わりに検索プログラムを使用しますtee

于 2012-04-27T12:00:24.423 に答える
0

少ないコマンドで開くことができます

less logfile_name

ファイルを開くと、ここでこのガイドを使用できます

ヒント: 最初に G を使用してファイルの最後に移動し、次に後方検索を使用することをお勧めします

于 2020-03-31T13:40:34.373 に答える
0

オンザフライでの端末出力の制御

Putty などの端末で任意のコマンドを実行しているときに、 と を使用して、Putty 端末への出力を停止および開始できCTRL-SますCTRL-Q

grep を使用した行の除外

特定のパターンを含む行を除外する場合はgrep -v、次を使用して、文字列 INFO を含むすべての行を削除します。

tail -f logfile | grep -v INFO 

INFO または DEBUG という単語を含まない行を表示する

tail -f logfile | grep -v -E 'INFO|DEBUG'

最後に、すべてのテーリング ツールの母と父はxtail.pl です。

ホストに perl がある場合、xtail.pl は学習するのに非常に優れたツールであり、一言で言えば、複数のファイルを追跡するために使用できます。とても便利な。

于 2012-04-27T23:50:22.180 に答える