2013-08-30 7 views
0

Спецификация POSIX, похоже, ничего не говорит о том, что происходит, когда одна строка, предоставленная программе sort, является префиксом другого.поведение `sort ', когда одна строка является префиксом другого

Но я считаю, что моя копия (GNU Coreutils 8.4) дает приоритет префиксом:

$ echo -e 'foo\nfoobar' | sort 
foo 
foobar 

$ echo -e 'foobar\nfoo' | sort 
foo 
foobar 
  • Это универсальное для всех реализаций sort?
  • Где это поведение определено?
  • Могу ли я полагаться на него?
  • Это потому, что это универсальное определение слова «sort» w.r.t. программирование?

ответ

0

Порядок сортировки определяется текущим языковым стандартом, который должен быть указан в спецификации POSIX. Ваш текущий язык (и большинство локалей, я подозреваю) рассмотрит префикс как лексикографически меньший, чем сама строка.