Почему 'вид' игнорирует специальные символы, как звездочка?

Я думал это sort отсортировал бы общие префиксы вместе, но это не всегда происходит. Возьмите этот вход, например:

AT0S*eightieths
AT0S*eyetooth's
AT*ad
AT*Ad
AT*AD
AT*Eydie
AT*eyed
ATF*adv
ATF*ATV
ATF*edify
ATF*Ediva
ATFKT*advocate
ATFKTNK*advocating
ATFKT*outfought
ATFKTS*advocates
ATHT*whitehead
ATHT*Whitehead
AT*id
AT*I'd
AT*Ito
AT*IUD
ATJ*adage
ATNXNS*attention's
ATNXNS*attenuation's
ATNXNS*autoignition's
AT*oat
AT*OD
AT*outweigh
AT*owed
ATP0K*idiopathic
ATP*adobe
ATT*wighted
ATT*witted
ATT*wooded
AT*UT
AT*Uta
AT*wowed
AT*Wyatt
ATX*atishoo

После sort, Я ожидал бы весь AT* заканчиваться в одном блоке, но когда Вы прокручиваете эти данные sort, вывод == вход. Почему это? Я не указываю опции проигнорировать небуквенные символы или что-либо. Просто sort dict > out.

Моя версия sort прибывает из coreutils 8.5-1ubuntu3.

27
задан 28.12.2010, 13:45

3 ответа

sort --version-sort filename 

Это сохраняет естественный порядок чисел.

17
ответ дан 07.12.2019, 09:28

Установка LC_ALL=C восстановила традиционный порядок сортировки в моем случае. Пакет: Версия coreutils: 8.5-1ubuntu3

export LC_ALL=C 
23
ответ дан 07.12.2019, 09:28

Это работает как ожидалось на меня (на cygwin).

sort input > output результаты в

AT*AD
AT*Ad
AT*Eydie
AT*I'd
AT*IUD
AT*Ito
AT*OD
AT*UT
AT*Uta
AT*Wyatt
AT*ad
AT*eyed
AT*id
AT*oat
AT*outweigh
AT*owed
AT*wowed
AT0S*eightieths
AT0S*eyetooth's
ATF*ATV
ATF*Ediva
ATF*adv
ATF*edify
ATFKT*advocate
ATFKT*outfought
ATFKTNK*advocating
ATFKTS*advocates
ATHT*Whitehead
ATHT*whitehead
ATJ*adage
ATNXNS*attention's
ATNXNS*attenuation's
ATNXNS*autoignition's
ATP*adobe
ATP0K*idiopathic
ATT*wighted
ATT*witted
ATT*wooded
ATX*atishoo

Вид искажается к чему-то? попробовать \sort

Также

Локаль, указанная средой, влияет на порядок сортировки. LC_ALL=C набора для получения традиционного порядка сортировки, который использует собственные значения байта

1
ответ дан 07.12.2019, 09:28

Теги

Похожие вопросы