[Jest to przepisać z podobnym pytaniem poprosiłem tyłu ... przepraszam za zamieszanie!]Dlaczego narzędzie sortujące UNIX ignoruje wiodące spacje bez opcji -b?
jestem zagubiony wiodącym S oraz standardowego sort
użyteczność. Rozważmy zawartość myfile
:
a
b
a
Wykonywanie sort -t : myfile
przynosi nieoczekiwany wynik, przynajmniej dla mnie:
a
a
b
Czy to ma sens? <space>
powinien pochodzić przed a-z
(jak w przypadku ASCII) lub po. W pierwszym przypadku spodziewałbym
a
b
a
podczas gdy w drugim przypadku
a
b
a
Dlaczego więc nie sort
wydają się stosować opcję -b
(ignorować wiodącą s) jeżeli, gdy nie została uwzględniona ? Aby być bezpiecznym, dodałem opcję -t
, aby mieć dokładnie jedno pole w każdej linii. (According to the POSIX standard, "Pole zawiera maksymalną sekwencję nierozdzielających znaków i, w przypadku braku opcji -t, dowolny poprzedzający separator pól." sort myfile
daje takie samo wyjście, co również jest nieoczekiwane.)
Z góry dziękuję !
+1: Pokora :) –
@Ernest: Dość tego! Usunąłem pokorę. –
Dziękujemy! Co do tego, jak działa sortowanie w en_US.UTF-8, nie mogę tego zrozumieć ... [Tabela zbiorcza] (http://www.collation-charts.org/opensolaris/opensolaris.2008.05.en_US.UTF- 8.html) dla en_US.UTF-8 nie ma spacji między literami A i B ... –