Você realmente não precisa de um teste if
explícito - você pode incorporar a lógica em um padrão awk
awk -v FS=',' -v OFS=',' 'NF>1 && length($2) !=0 {$2=$2",0.0"; print}' test.csv
2016-10-25 11:18:42.945 UTC,"dummy",0.0,546
1,2,0.0,5
Se você quiser usar if
, a sintaxe será if (condition) {expression}
, por exemplo,
awk -v FS=',' -v OFS=',' 'NF>1 {if (length($2) !=0) {$2=$2",0.0"; print}}' test.csv