Я нашел некоторые данные, которые, как представляется, ведут себя странно в «сортировке». При выполнении численного сортирования в первом поле csv-файла наличие или отсутствие 4-го столбца приводит к неправильной сортировке 7-й строки.Почему «сортировка», похоже, неправильно сортирует поле в зависимости от наличия или отсутствия другого поля?
Я использую GNU sort 8.21 на Slackware64-current.
данных: https://gist.github.com/anonymous/2a7beb4871b25ae8f8b3
Это работает:
cut -d , -f 1-3 < weird.csv | sort -t , -k 1n
Это не работает:
cat weird.csv | sort -t , -k 1n
7-я линия, кажется, неправильно сортировались.
Кажется, я не могу найти очевидного объяснения этого поведения. Использование «g» вместо «n» имеет поведение, которого я ожидал бы, но я не понимаю, какая разница между «g» и «n».
Он корректно работает на OS X, но я воспроизвел его на Linux с помощью GNU sort 8.5. – Barmar
unix.stackexchange.com, вероятно, будет лучшим местом для вопроса. – Barmar