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

Wie sortiere ich eine Datei basierend auf ihren numerischen Werten für ein Feld?

Werfen Sie einen Blick auf die Manpage für sort...

   -n, --numeric-sort
          compare according to string numerical value

Also hier ist ein Beispiel...

sort -n filename

Wenn Sie Zeichenfolgen sortieren, die aus Text und Zahlen gemischt sind, z. B. Dateinamen von Rolling Logs, dann sortieren Sie mit sort -n funktioniert nicht wie erwartet:

$ ls |sort -n
output.log.1
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.2
output.log.20
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9

In diesem Fall Option -V funktioniert:

$ ls |sort -V
output.log.1
output.log.2
output.log.3
output.log.4
output.log.5
output.log.6
output.log.7
output.log.8
output.log.9
output.log.10
output.log.11
output.log.12
output.log.13
output.log.14
output.log.15
output.log.16
output.log.17
output.log.18
output.log.19
output.log.20

von der Manpage:

   -V, --version-sort
          natural sort of (version) numbers within text

Linux
  1. So speichern Sie die Befehlsausgabe in einer Datei unter Linux

  2. Wie leite ich die Ausgabe eines Programms in eine Zip-Datei um?

  3. Wie hängt man die Ausgabe an eine Datei an?

  4. So sortieren Sie eine Datei an Ort und Stelle

  5. So leiten Sie die Ausgabe des systemd-Dienstes in eine Datei um

So verwenden Sie CherryTree für Notizen

So leeren Sie eine Protokolldatei unter Linux

Wie zähle ich die Anzahl der eindeutigen Werte eines Felds in einer tabulatorgetrennten Textdatei?

Wie leitet man die Ausgabe von system() in eine Datei um?

Erfassen Sie die nethogs-Ausgabe in der Protokolldatei

So sortieren Sie diese Ausgabe 1,10,11..2