Как я могу заставить сортировку unix работать должным образом, используя подчеркивание в качестве разделителя полей?

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

$ echo -e "foo1nfoo" | sort
foo
foo1

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

$ echo -e "foo1_3nfoo_3" | sort -t_ -k1
foo1_3
foo_3

какой правильный набор параметров использовать для make foo_3 прийти перед foo1_3? У меня LC_COLLATE=C и am на Ubuntu 14.04.

21
задан rmccloskey
26.11.2022 1:15 Количество просмотров материала 3394
Распечатать страницу

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_.
1
отвечен reinierpost 2022-11-27 09:03

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх