Привет!
Как такое может быть:
$ LC_COLLATE="C.UTF-8" echo -e "1\t-----------$\n2\tOTHER\n3\t-а$" | LC_COLLATE="C.UTF-8" sort -k2,2 -t $'\t'
1 -----------$
3 -а$
2 OTHER
$ LC_COLLATE="en_US.utf8" echo -e "1\t-----------$\n2\tOTHER\n3\t-а$" | LC_COLLATE="en_US.utf8" sort -k2,2 -t $'\t'
1 -----------$
2 OTHER
3 -а$
Как в стандартной локали en_US.utf8 слово OTHER может оказаться между двумя словами, начинающимися с минусов ? -а$ содержит русскую букву а. если a английское, то все ОК,
Если это объяснимо свойствами локали, то нафиг такую локаль, посоветуйте любую юникодную без фокусов.