私はlinuxのテキストファイルの下にフォーマットしようとしています。あなたは私の出力を達成するための最良の方法が何かを提案することができますか?私は事前に私の入力テキストをlinuxシェルで出力するための最良の方法は何ですか
Header| Header Identifier
[2017-02-03 14:23:44,066] - Message 1
Trailer | Trailer Identifer
Header| Header Identifier
[2017-02-03 14:23:44,066] - Message 2
Trailer | Trailer Identifer
感謝を生成しようとしています
入力テキスト
Header| Header Identifier
[2017-02-03 14:23:44,066] - Message 1
[2017-02-03 14:23:45,066] - Message 1
[2017-02-03 14:23:46,066] - Message 1
[2017-02-03 14:23:47,066] - Message 1
Trailer | Trailer Identifer
Header| Header Identifier
[2017-02-03 14:23:44,066] - Message 2
[2017-02-03 14:23:45,066] - Message 2
[2017-02-03 14:23:46,066] - Message 2
[2017-02-03 14:23:47,066] - Message 2
Trailer | Trailer Identifer
出力!
更新:私はここで重複を削除しようとしていません、私は最も低いタイムスタンプでレコードを保持し、他のものを削除したいと思います。
「awk」のようなものがあります。[$ 0] ++ 'file'はうまくいくはずです(フィールドセパレータで遊ぶ必要があります)。この質問はbashにはよくあることですが、私は正確な複製を見つけることができません – Aserre
@Aserre:2番目の見方では、これはあなたが投稿したものの複製のようには見えません。 OPは入力ファイルを出力順に並べ替える必要があります。私は、出力が複数の行を再フォーマットしていると仮定しています – Inian
@Inianええ、私はタイムスタンプがOPの入力で正確に同一ではなかったことに気付かなかった。また、メッセージ1とメッセージ2が一意でない場合、「Header/Trailer」ブロックに従ってログメッセージを処理する必要があります。 – Aserre