Ich habe versucht, den Inhalt einer Datei in Ubuntu Desktop 14.04 (Trusty Tahr) zu sortieren . In meinem Fall sollte das erwartete Ergebnis dem ursprünglichen Inhalt entsprechen, das tatsächliche Ergebnis jedoch nicht. Warum?
# cat test.txt
a++-a
a++-b
a++-c
ab
ac
# cat test.txt | sort
a++-a
ab
a++-b
ac
a++-c
command-line
sort
user2909884
quelle
quelle
cat
.cat test.txt | sort
durchsort test.txt
:) ersetzen könnencat
man anfangen kann. Beispielsweisecat FILE | grep dev | sort
werden nur Zeilen mit "dev" angezeigt (in sortierter Reihenfolge). Verwenden vonsort FILE | grep dev
erzeugt die gleiche Ausgabe, aber farbig.Antworten:
Sie könnten
LC_ALL
Variable verwenden, setzen Sie sieLC_ALL=C
vor dem Aufruf aufsort
Lesen Sie diese Antwort, wenn Sie wissen möchten, was das magisch ist
LC_ALL=C
. Hier ist eine kurze Zusammenfassung:Auch, wie @KenMollerup zeigte, Zitat aus
man sort
Wenn Sie also sort mit verwenden
LC_ALL=C
, sortieren Sie die Vergleichssymbole nacheinander. Andernfallssort
werden alle nicht alphanumerischen Zeichen ignoriert.quelle
man sort
. Ich habe es nicht bemerktSortieren verwendet alphabetische und numerische Sortierung, genau wie wir, Sonderzeichen wie + - <> ... werden ignoriert, Zahlen werden numerisch behandelt, also 1, 2, 3 ... kommt vor 11, 12 1066 1104 - siehe!
Ihre Liste sieht also so aus: aa, ab, ab, ac, ac
quelle
man sort
hinzufügen von , Beispiele hinzufügen.