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

Sortieren von Zahlen mit mehreren Dezimalstellen in Bash

sort -g numbers

Das wird reichen. Gemäß der Manpage für Sortieren, -g ist für die numerische Sortierung gedacht:

-g, --general-numeric-sort

nach allgemeinem Zahlenwert vergleichen


Du brauchst das -t. Flag zum Angeben von '.' als Ihr Trennzeichen, und die mehreren Schlüsselpositionsbezeichner behandeln die zunehmend längeren/tieferen Zahlen. Ich verstehe immer noch nicht ganz genau, wie es funktioniert, aber es funktioniert ...

 sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers

oder

 cat numbers | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n

Für diesen -V gibt es ein spezielles Flag für Versionsnummern

$ sort -V numbers

1.0
1.1
1.3
1.3.3
1.4-p1
1.6.1
1.11.4
1.15
2.2.2
2.2.10
2.4
2.4.6

p.s. diese Option ist in GNU Coreutils verfügbar und kann in anderen Implementierungen fehlen.


Linux
  1. Bash-Verlauf in mehreren Terminalfenstern beibehalten?

  2. Bash -c mit Positionsparametern?

  3. Alias ​​mit Variable in Bash

  4. Hinzufügen eines Zeitstempels zu einem Dateinamen mit mv in BASH

  5. Bash:Warte mit Timeout

Was ist Git Bash? Arbeiten mit Git Bash-Befehlen

So schreiben Sie ein Bash-Skript mit Beispielen

Bash HereDoc Tutorial mit Beispielen

So erstellen Sie Dokumente mit Bash-Skripten

Bash If Else Syntax mit Beispielen

Runden von Zahlen mit bc in Bash