Thank you, Paul and Padraig! May I ask when it fails to sort numerically why 1,a comes before 0,9? I could not come up with an ordering that 1,a is smaller.
Best, Jason > On Oct 4, 2021, at 4:01 PM, Paul Eggert <egg...@cs.ucla.edu> wrote: > > On 10/4/21 08:58, Pádraig Brady wrote: >> The --debug option points out the issue: >> $ printf '%s\n' 1,a 0,9 | sort --debug -nk1 -t , >> sort: key 1 is numeric and spans multiple fields >> 1,a >> _ >> ___ >> 0,9 >> ___ >> ___ > > As Juncheng points out, it is a bit odd that -n and -g disagree here, even in > locales where ',' is not a decimal point. For example: > > $ printf '1,a\n0,9\n' | sort -gk1 -t, --debug > sort: text ordering performed using ‘en_US.UTF-8’ sorting rules > sort: key 1 is numeric and spans multiple fields > 0,9 > _ > ___ > 1,a > _ > ___ > $ printf '1,a\n0,9\n' | sort -nk1 -t, --debug > sort: text ordering performed using ‘en_US.UTF-8’ sorting rules > sort: key 1 is numeric and spans multiple fields > 1,a > _ > ___ > 0,9 > ___ > ___