欠落しているタイムスタンプがあるかどうかを確認してファイルの行を追加してください。

欠落しているタイムスタンプがあるかどうかを確認してファイルの行を追加してください。

次の形式のファイルがあります。

ABCD 01206001022T01YA022T01YA022T07SO 09:20:38
ABCD 01206001022ACION 09:24:40
ABCD 04006001021S01UK 09:24:42
ABCD 7878696621321312 23213213213213
ABCD ASADSADSFSSDSSD 09:24:50

デフォルトでは、最初のフィールドを除くすべてのフィールドは異なります。

要件:各行にタイムスタンプがあることを望みます。タイムスタンプが欠落している行がある場合は、前の行のタイムスタンプを欠落している行の最後に追加したいと思います(上記の例の4行)。この目標をどのように達成できますか?

ベストアンサー1

これにより、awkトリックを実行できます。

awk '{ 
         if ( $NF ~ /[0-9]+:[0-9]+:[0-9]+/ ) {
            lasttime = $NF
            print
         } else {
            print $0, lasttime
         }
     }' < myfile.txt

おすすめ記事