ファイル内のEPOCH値のみの変換と置換

ファイル内のEPOCH値のみの変換と置換

2番目と3番目の列には、起源と乱数がある以下の入力があります。 awk 組み込み関数 strftime() を使用して epoch 日付を変換し、epoch 値にない値を置き換えようとしています。

以下を試してみましたが、目的の結果が得られませんでした。

awk '{ print  $1 strftime("%c",$2) strftime("%c",$3)  }' test.txt

入力する:-

h_RTGUSEQ_RTY_FILE_LIST_ODRF_XOB                                  0            0            11      
TRF_RTGUSFX_RTY_FILE_LIST_XOB                                     0            0            11      
TRF_RTGUSIG_RTY_FILE_LIST_XOB                                     0            0            11          
NGU_AVM_DAILY_SCHEDULE_XOB                                        1617804000   1617804156   7 
TRF_RTGUSIR_RTY_FILE_LIST_XOB                                     0            0            11            
NGU_schedule_next                                                 1614198958   1614198979   7       
TCR_RTGUSCR_DSTGE_REPORT_XOB                                      1591171200   1591171268   7       
YUI_RTGNLEQ_DB_CHK_RTYCYCLE_ARCHV_XOB                             0            0            11 
NGU_schedule_current                                              1614198946   1614198957   7      
YUI_RTGNLEQ_Z_DUMMY_XOB                                           0            0            7       
YUI_RTGNLEQ_Z_TRIGR_DSJ_XOB                                       0            0            11      
YUI_RTGSGEQ_DB_CHK_RTYCYCLE_ARCHV_XOB                             0            0            11 

予想される出力サンプル形式:epoch値を同じファイルに記載されている形式の日付に置き換える必要があります。

h_RTGUSEQ_RTY_FILE_LIST_ODRF_XOB       0                        0                        11
TRF_RTGUSFX_RTY_FILE_LIST_XOB          0                        0                        11
TRF_RTGUSIG_RTY_FILE_LIST_XOB          0                        0                        11
NGU_AVM_DAILY_SCHEDULE_XOB             07 Apr 2021 09:04:00 AM  07 Apr 2021 09:04:36 AM  7
TRF_RTGUSIR_RTY_FILE_LIST_XOB          0                        0                        11
NGU_schedule_next                      24 Feb 2021 02:02:58 PM  24 Feb 2021 02:02:19 PM  7
TCR_RTGUSCR_DSTGE_REPORT_XOB           03 Jun 2020 03:06:00 AM  03 Jun 2020 03:06:08 AM  7
YUI_RTGNLEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11
NGU_schedule_current                   24 Feb 2021 02:02:46 PM  24 Feb 2021 02:02:57 PM  7
YUI_RTGNLEQ_Z_DUMMY_XOB                0                        0                        7
YUI_RTGNLEQ_Z_TRIGR_DSJ_XOB            0                        0                        11
YUI_RTGSGEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11

ベストアンサー1

$ awk -v OFS='\t' '{
    for (i=2; i<=3; i++) {
        $i = ($i ? strftime("%d %b %Y %r",$i) : $i)
    }
    print
}' test.txt | column -s$'\t' -t
h_RTGUSEQ_RTY_FILE_LIST_ODRF_XOB       0                        0                        11
TRF_RTGUSFX_RTY_FILE_LIST_XOB          0                        0                        11
TRF_RTGUSIG_RTY_FILE_LIST_XOB          0                        0                        11
NGU_AVM_DAILY_SCHEDULE_XOB             07 Apr 2021 09:04:00 AM  07 Apr 2021 09:04:36 AM  7
TRF_RTGUSIR_RTY_FILE_LIST_XOB          0                        0                        11
NGU_schedule_next                      24 Feb 2021 02:02:58 PM  24 Feb 2021 02:02:19 PM  7
TCR_RTGUSCR_DSTGE_REPORT_XOB           03 Jun 2020 03:06:00 AM  03 Jun 2020 03:06:08 AM  7
YUI_RTGNLEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11
NGU_schedule_current                   24 Feb 2021 02:02:46 PM  24 Feb 2021 02:02:57 PM  7
YUI_RTGNLEQ_Z_DUMMY_XOB                0                        0                        7
YUI_RTGNLEQ_Z_TRIGR_DSJ_XOB            0                        0                        11
YUI_RTGSGEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11

おすすめ記事