出力ごとに並べ替えられた複数のファイルを Grep

出力ごとに並べ替えられた複数のファイルを Grep

grepを使用して複数のログファイルを検索しています。ログ内の各行の最初の部分は、hh:mm:ssの形式の時間です。今回はソート基準でなければなりません。

ソートを使用すると、grep -r string1 | grep --color string2 | sortファイル名に適用されます(有用な情報です)。パラメータを追加すると、埋め込み-n行番号が使用されるため、状況が悪化します。

ログ形式は次のとおりです。

354058:c1.com/client-01.log:13:30:04 INFO:       Item: created widget in ARRIVALS
360746:c1.com/client-01.log:13:39:46 INFO:          change transfer to contact
379144:c3.com/client-01.log:13:30:02 INFO:       Item: created widget in ARR
392162:c3.com/client-01.log:13:51:59 INFO:       Item: created widget in ARR
367422:c5.com/client-01.log:13:51:56 INFO:       searching for Sign 
367446:c5.com/client-01.log:13:51:59 INFO:       Item: created widget in ARRIVALS
367629:c5.com/client-01.log:13:52:12 INFO:          change from initial to contact
371979:c9.com/client-01.log:14:00:19 INFO:          change workflow to tgl

編集:私の予想タイプは次のとおりです。

379144:c3.com/client-01.log:13:30:02 INFO:       Item: created widget in ARR
354058:c1.com/client-01.log:13:30:04 INFO:       Item: created widget in ARRIVALS
360746:c1.com/client-01.log:13:39:46 INFO:          change transfer to contact
367422:c5.com/client-01.log:13:51:56 INFO:       searching for Sign 
392162:c3.com/client-01.log:13:51:59 INFO:       Item: created widget in ARR
367446:c5.com/client-01.log:13:51:59 INFO:       Item: created widget in ARRIVALS
367629:c5.com/client-01.log:13:52:12 INFO:          change from initial to contact
371979:c9.com/client-01.log:14:00:19 INFO:          change workflow to tgl

| sort -t'/' -k2Vほとんどの結果は提案された変更と追加に基づいて合理的に見えますが、他の出力のほとんどは完全にまともですが、突然この結果が表示されます。

353619:d1.com/core-01.log:14:09:45 INFO:          Server: updating
33:c5.com/client-01.log:13:30:02 INFO:       Item: created widget in ACTIVE

ベストアンサー1

与えられたファイル

354058:c1.com/client-01.log:13:30:04 INFO:       Item: created widget in ARRIVALS
360746:c1.com/client-01.log:13:39:46 INFO:          change transfer to contact
379144:c3.com/client-01.log:13:30:02 INFO:       Item: created widget in ARR
392162:c3.com/client-01.log:13:51:59 INFO:       Item: created widget in ARR
353619:d1.com/core-01.log:14:09:45 INFO:          Server: updating
367422:c5.com/client-01.log:13:51:56 INFO:       searching for Sign
367446:c5.com/client-01.log:13:51:59 INFO:       Item: created widget in ARRIVALS
367629:c5.com/client-01.log:13:52:12 INFO:          change from initial to contact
371979:c9.com/client-01.log:14:00:19 INFO:          change workflow to tgl

注文する

sort -t: -k3 file

:事前ソートは、3番目の区切りフィールド(およびそれ以降のすべてのフィールド)をソートキーとして使用します。結果は次のとおりです。

379144:c3.com/client-01.log:13:30:02 INFO:       Item: created widget in ARR
354058:c1.com/client-01.log:13:30:04 INFO:       Item: created widget in ARRIVALS
360746:c1.com/client-01.log:13:39:46 INFO:          change transfer to contact
367422:c5.com/client-01.log:13:51:56 INFO:       searching for Sign
392162:c3.com/client-01.log:13:51:59 INFO:       Item: created widget in ARR
367446:c5.com/client-01.log:13:51:59 INFO:       Item: created widget in ARRIVALS
367629:c5.com/client-01.log:13:52:12 INFO:          change from initial to contact
371979:c9.com/client-01.log:14:00:19 INFO:          change workflow to tgl
353619:d1.com/core-01.log:14:09:45 INFO:          Server: updating

これを行うには、フィールド3、4、5の数字が常にゼロで埋められているとします。

おすすめ記事