Я вижу что-то странное с `sort 'в RedHat Enterprise Linux 5 x86_64 и в Ubuntu 9.1.Я использую bash.
Во-первых, вот что я считаю правильным ожидать от сортировки по порядку словаря:
[stauffer @ unix-m sortTrouble] $ cat st1
1230
123
100
11
10
1
123
1230
100
[stauffer @ unix-m sortTrouble] $ sort st1
1
10
100
100
11
123
123
1230
1230
[stauffer @ unix-m sortTrouble] $
Теперь вот что происходит, когда есть второй столбец (с разделителями табуляции, хотя здесь он выглядит грязно):
[stauffer @ unix-m sortTrouble] $ cat st2
1230 1
123 1
100 1
11 1
10 1
1 1
123 1
1230 1
100 1
[stauffer @ unix-msortTrouble] $ sort st2
100 1
100 1
10 1
1 1
11 1
1230 1
1230 1
123 1
123 1
Обратите внимание, как теперь порядок сортировки для столбца 1 отличается.«11» ставится правильно после «1», а «10» и «100» - нет.Аналогично для «1230».Кажется, что ноль вызывает проблемы.
Это поведение противоречиво, и это вызывает проблемы при использовании 'join', потому что он ожидает сортировку по словарю.
В Mac OSX 10.5 файл st2 сортируется как st1в первом столбце.
Я что-то упустил, или это ошибка?
Спасибо, Майкл