是否可以在同一内联中的另一个AWK块中传递AWK变量?以下代码是否有效8美元的价值 Mon Nov 16 16:00:00 2015
|awk -F"[][]" '{print $2, $6, ${echo $8|awk '{d=$0;cmd="date -d\""d"\" +\"%a %b %d %r %Y\"" ;cmd|getline $0;close(cmd)}7'}}'
答案 0 :(得分:1)
根据你今天提出的两个问题,这个问题实际上要求在一个陈述中将两个答案结合起来 通过修改Ed Mortons对Date manipulation in awk variable : Non Military Format的回答并将其嵌入到您的awk脚本中,可以更轻松地实现这一点(即,无需外部调用):
awk -F"[][]" '{ split($8,a,/[: ]/)
p = "AM"
if(a[4]a[5]a[6] > 120000) {
p = "PM"
a[4] = a[4] > 12 ? a[4] - 12 : a[4]
} else if(a[4] < 1) {
a[4] = 12
}
datetime=sprintf("%02d:%02d:%02d %s",a[4],a[5],a[6],p)
print $2, $6, a[1]" "a[2]" "a[3]" "datetime" "a[7]}'