GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist die Standardreihenfolge der Linux-Sortierung?

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.


Linux
  1. Was Linux zum nachhaltigen Betriebssystem macht

  2. Was macht die Linux-Community besonders?

  3. Linux vs. Unix:Was ist der Unterschied?

  4. So ändern Sie die Standard-Shell in Linux

  5. Was ist der Zweck der .bashrc-Datei in Linux

Was ist der Linux-Überwachungsbefehl + Beispiele

Was ist die Shell unter Linux?

Was ist der Unterschied zwischen Linux und Unix?

So ändern Sie die Standard-Shell im Linux-System

10 Nützliche Beispiele für den Sort-Befehl in Linux

Was ist der Kill-Befehl in Linux?