【发布时间】:2021-06-21 15:39:36
【问题描述】:
我正在使用 bash 脚本将数据输出到文本文件。输出文件的前两列是纪元格式,我试图弄清楚如何添加到 bash 脚本以将这些列转换为人类可读的格式。
我的脚本:
aws backup list-recovery-points-by-backup-vault --backup-vault-name "${VAULT_NAME}" --query "reverse(sort_by(RecoveryPoints, &RecoveryPointArn))[*].{RecoveryPoints: RecoveryPointArn, CreationDate: CreationDate, CompletionDate: CompletionDate}" --output table > getList.txt
getList.txt 的示例输出:
| 1607750797.22 | 1607749558.24 | arn:aws:backup:us-west-1:010101010101:recovery-point:z0ab4c11-000d-4aaa-v01d-100z27zz32ab |
| 1610688137.88 | 1610687158.08 | arn:aws:backup:us-west-1:010101010101:recovery-point:a01q84c9-2035-1234-baf7-8aaa35aa111a |
在导出到 getList.txt 的过程中,如何将第一列和第二列的输出转换为人类可读的格式?我可以在脚本中使用类似以下的内容吗:
awk 'BEGIN {FS=OFS="|"}{$1,$2=strftime("%c",$1, $2)} {print}'
非常感谢任何帮助和建议。
【问题讨论】:
-
如果将输出设置为 json 而不是 table,这看起来可能会有所帮助:stackoverflow.com/questions/36853202/…
-
除了尝试同时进行两种转换之外,awk 代码表面上并非不合理。如果你把它分成两个单独的任务,我觉得它看起来很合理。
-
请添加“awk”标签