2

Когда я сортирую foo и foo1 , я ожидаю, что foo будет первым, что обычно происходит с unix sort .

$ echo -e "foo1\nfoo" | sort
foo
foo1

Но когда я добавляю и подчеркиваю и использую опции -t и -k , это не производит тот же порядок сортировки.

$ echo -e "foo1_3\nfoo_3" | sort -t_ -k1
foo1_3
foo_3

Какой правильный набор опций нужно использовать, чтобы foo_3 предшествовал foo1_3? У меня LC_COLLATE=C и я нахожусь на Ubuntu 14.04.

1 ответ1

1

использование

echo -e "foo1_3\nfoo_3" | sort -t_ -k1,1

Как сказано в руководстве по сортировке:

`-k POS1[,POS2]' `--key=POS1[,POS2]'
    Specify a sort field that consists of the part of the line between
    POS1 and POS2 (or the end of the line, if POS2 is omitted),
    _inclusive_.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .