{ route get -inet6 default | grep -A1 gateway; } | while read line; do awk {'print $2'}; done

why does that only print one line?

just when I think I get #ksh93 I find out no, no I don't and it's all just (mostly wrong) educated guesses.