1

エラー/警告/情報の膨大なログが stdout に出力されます。特定のアクションを開始した後にログに記録された行にのみ関心があります。

その他の情報: Python を使用して、シェル環境に telnet で接続しています。シェルでコマンドを実行し、アクションが開始された時間を保存します。次に、標準出力に吐き出すログを表示するコマンドを呼び出します。そのタイムスタンプの後にgrepさ​​れた行をPythonに読み込むことを期待しています。現在の時刻も保存しますが、その使用方法がわかりません(日付範囲でgrepするかもしれませんか?)

ファイルにリダイレクトして find を使用することはできますが、ログは巨大であり、すべてを読みたくありません。grep -n を実行して行番号を取得し、その後すべてを読み取ることができますが、方法がわかりません。

egrep の概念正規表現は次のようなものです: {a-timestamp}*

任意の提案をいただければ幸いです!

4

1 に答える 1

3
awk '/the-timestamp-I-have/,0' the-log-file

This will print the lines from the-log-file, starting at the first line that matches the-timestamp-I-have and continuing through the last line.

Ref:

于 2013-03-07T22:24:15.623 に答える