когда я пытаюсь отсортировать следующий текстовый файл 'вход':
test1 3
test3 2
test 4
с командой
sort input
вывод является точно входом. Вот вывод
od -bc input
:
0000000 164 145 163 164 061 011 063 012 164 145 163 164 063 011 062 012
t e s t 1 \t 3 \n t e s t 3 \t 2 \n
0000020 164 145 163 164 011 064 012
t e s t \t 4 \n
0000027
Это - просто разделенный файл вкладки с двумя столбцами. Когда я делаю
sort -k 2
Вывод изменяется на
test3 2
test1 3
test 4
который является тем, что я ожидал бы. Но если я делаю
sort -k 1
ничто не изменяется относительно входа, тогда как я ожидал бы 'тест' к виду прежде 'test1'. Наконец, если я делаю
cat input | cut -f 1 | sort
Я добираюсь
test
test1
test3
как ожидалось. Существует ли логическое объяснение этого? Что точно является видом, который, как предполагают, сделал по умолчанию, что-то как:
sort -k 1
?
Моя версия вида:
sort (GNU coreutils) 7.4
Из страниц руководства:
* WARNING * Локаль, заданная средой, влияет на порядок сортировки . Установите LC_ALL = C, чтобы получить традиционный порядок сортировки, в котором используются собственные байтовые значения.
Кажется, экспорт LC_ALL = C должен помочь