我是几周前才开始编写脚本的,或者至少正在尝试...
bash-4.3# /usr/openv/netbackup/bin/admincmd/bperror -backstat -hoursago 72 \
| grep xxx1 \
| awk '{ print $1 "\t" $19 "\t" $12 "\t" $14 "\t" $16 }' >> test
bash-4.3# cat test
1535229470 0 xxx1 policy1 sched1
1535314239 0 xxx1 policy1 sched1
1535400749 0 xxx1 policy1 sched1
现在我想将第一个条目(时间戳)转换为可读的日期
date=$(awk 'NR == 1 {print $1}' test); bpdbm -ctime $date |awk '{ print $3 " " $4 " " $5 " " $6 " " $8 }'
Sat Aug 25 22:37:50 2018
现在如何用此输出替换每行的第一个条目或更改第一个命令?
非常感谢!
答案 0 :(得分:0)
使用GNU awk:
angular-fullscreen
这将使用功能awk '$1~/[0-9]+/{$1=strftime(PROCINFO["strftime"],$1)}1' file
将行的第一字段中的时间戳替换为关联的可读日期。
日期格式是awk手册页中提到的默认格式strftime
。