2016-09-18 3 views
0

この例では、特定のテキスト文字列([email protected])を含むセクション/レコードのみを出力するために、次のawkコマンドを使用しています。これはうまく動作しますが、awkは出力を出力する際に​​レコード区切りを削除します。 一般的なテキストベースのRSでは、{print RS、$ 0}を使用して再印刷することができますが、このシナリオではawkは各レコードの前に正規表現を表示します。 [0-5] [0-9] [0-5] [|awkに動的RS(レコード区切り文字)を書き直す

AWK「 = 「(?2 [0-3] [01] [0-9]){RSをBEGIN 0-9] [0-9] [0-9] [0-9] ";} /[email protected]/ {print RS、$ 0} '/var/log/abc.log

各レコードの前にRS(この場合はタイムスタンプ)を印刷する方法はありますか?ありがとう

答えて

0

多文字RSを使用しているので、すでにの代わりにRTを印刷しているので、gawkを使用している必要があります。 Arnold Robbins著、Effective Awk Programming、第4版を読んでください。

+1

解決しました。ありがとう –

+0

あなたは歓迎しています。http://stackoverflow.com/help/someone-answers –

関連する問題