Tak ještě lepší řešení:
echo 0.3 | awk '{print (($1+0)>0)?1:0 }'
Jelikož awk při počítání převádí nečíselné řetězce na 0, stačí přičíst 0 a porovnat.
No a má to ještě jednu vlastnost - pokud ten řetězec začíná číslem, je už jedno, že třeba pokračuje abecedou, pro awk bude "37lopat" jen 37 pro aritmetický výraz. Tudíž, pokud se nepočítá s použitím menších čísel, než 1, je fuk, že to do awk pošlete s desetinnou čárkou, místo tečky, protože 37,5 si interpretuje jako 37.