Quantcast
Channel: UNIX and Linux Forums
Viewing all articles
Browse latest Browse all 16232

Getting syntax error with awk ternary operator

$
0
0
Code:

split($7,a," "); date = a[1]; time = a[2] 
split(date,d,"/"); month = sprintf("%02d",d[1]); day = sprintf("%02d",d[2]); year = 2000 + d[3] % 100
split(time,t,":"); hour=t[1]; min=t[2]
hour >= 12? { hour=hour-12; amPm=" PM" } : amPM=" AM"
hour == 0? hour=12

time=sprintf("%02d",hour)":"sprintf("%02d",min)amPm

Code:

awk: cmd. line:9:                      hour >= 12? { hour=hour-12; amPm=" PM" } : amPM=" AM"
awk: cmd. line:9:                                  ^ syntax error
awk: cmd. line:9:                      hour >= 12? { hour=hour-12; amPm=" PM" } : amPM=" AM"
awk: cmd. line:9:                                                              ^ syntax error
awk: cmd. line:11:                      hour == 0? hour=12
awk: cmd. line:11:                                        ^ unexpected newline or end of string

I've tried seperating lines, adding more semicolons at the ends of the line or before the curly bracket BASH-style. Nothing seems to work.
I have other ternary statements in the code that work fine like:
Code:

$19 == "V"? valid = "0" : valid = $19
$22 == ""? comment = "0" : comment = $22

Mike

Viewing all articles
Browse latest Browse all 16232

Trending Articles