Sieht so aus, als ob Sie ein Nicht-POSIX-Gebietsschema verwenden.
Versuchen Sie:
export LC_ALL=C
und dann sort
.
info sort
sagt ganz klar:
(1) Wenn Sie eine Nicht-POSIX-Locale verwenden (z. B. indem Sie `LC_ALL' auf `en_US' setzen), dann kann `sort' eine Ausgabe erzeugen, die anders sortiert ist, als Sie es gewohnt sind. Setzen Sie in diesem Fall die Umgebungsvariable `LC_ALL' auf `C'. Beachten Sie, dass das Setzen von nur `LC_COLLATE' zwei Probleme hat. Erstens ist es wirkungslos, wenn `LC_ALL' ebenfalls gesetzt ist. Zweitens hat es ein undefiniertes Verhalten, wenn `LC_CTYPE' (oder `LANG', wenn `LC_CTYPE' nicht gesetzt ist) auf einen inkompatiblen Wert gesetzt ist. Beispielsweise erhalten Sie undefiniertes Verhalten, wenn `LC_CTYPE' `ja_JP.PCK' ist, aber `LC_COLLATE' `en_US.UTF-8' ist.
Als man sort
sagt, „Wörterbuch-Reihenfolge“ bedeutet „nur Leerzeichen und alphanumerische Zeichen berücksichtigen“. Zum Beispiel angesichts der Daten
The
!quick
brown
@fox
jumps
#over
17
$lazy
dogs
%42
times.
die schlichte sort
Befehl erzeugt
dogs
!quick
#over
$lazy
%42
@fox
17
brown
jumps
The
times.
(setzen Sie die Zeilen, die mit den Leerzeichen beginnen, und den !
, #
, $
, %
, und @
Symbole vor den Zeilen, die mit Buchstaben und Zahlen beginnen, also alphanumerische Zeichen ), aber sort -d
produziert
dogs
17
%42
brown
@fox
jumps
$lazy
#over
!quick
The
times.
dogs
steht immer noch an erster Stelle, weil es mit Leerzeichen beginnt, aber die Sonderzeichen (Satzzeichen) werden ignoriert. 17
kommt vor 42
, und fox
kommt zwischen brown
und jumps
, obwohl 42
und fox
Zeichen vor sich haben, die sie normalerweise vor 17
verschieben würden .
____________
in der Reihenfolge ihrer ASCII-Werte:Leerzeichen=040, !
=041, #
=043, $
=044, %
=045 und @
=0100. Beachten Sie, dass dies (ohne Berücksichtigung der Leertaste) auf einigen Tastaturen ungefähr von links nach rechts erfolgt.
Um die Sortierreihenfolge festzulegen, erstellen Sie einfach eine Datei mit einem anderen Zeichen in jeder Zeile und sortieren Sie sie. Die resultierende Ausgabe teilt Ihnen die Sortierreihenfolge mit.