sort's -k flag is buggy when M is also passed
Dennis Chen
dchen at dennisc.net
Wed Jun 29 05:10:44 UTC 2022
All commands were run on both Ubuntu busybox v1.30.1 and Alpine busybox
v1.35.0.
I ran
echo "3 March\n2 April" | busybox sort -k 2,2M
and it returned
2 April
3 March
It should return
3 March
2 April
and indeed, that is what you get with GNU sort. (It doesn't seem to
matter what the numbers "2" and "3" are - I replaced them both with the
string "filler" and got the same result.)
This seems to only happen when the field number is >1. For instance
echo "March\nApril" | busybox sort -k 1,1M
correctly outputs
March
April
It also doesn't happen when M isn't passed into -k. For instance,
echo "a c\nb b" | sort -k 2,2
correctly returns
b b
a c
More information about the busybox
mailing list