GNU/Linux >> Belajar Linux >  >> Linux

Menyortir angka dengan banyak desimal di bash

sort -g numbers

Itu akan berhasil. Sesuai sortir halaman manual, -g dimaksudkan untuk penyortiran numerik:

-g, --general-numeric-sort

bandingkan menurut nilai numerik umum


Anda membutuhkan -t. bendera untuk menentukan '.' sebagai pemisah Anda, dan beberapa penentu posisi kunci menangani angka yang semakin panjang/dalam. Saya masih tidak mengerti persis bagaimana cara kerjanya, tapi berhasil ...

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

atau

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

Ada bendera khusus untuk -V ini untuk nomor versi

$ 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

ps. opsi ini tersedia di GNU Coreutils dan mungkin tidak ada di implementasi lain.


Linux
  1. Bash Array Dengan Contoh

  2. Pernyataan Bash If-Else Dengan Contoh

  3. Sejarah Bash tanpa nomor baris

  1. Kelola beberapa instance layanan dengan systemctl

  2. nama dasar dengan spasi dalam skrip bash?

  3. Bagaimana cara menulis beberapa baris string menggunakan Bash dengan variabel?

  1. Pertahankan Bash History Di Beberapa Terminal Windows?

  2. Bash -c Dengan Parameter Posisi?

  3. Menyortir banyak kunci dengan pengurutan Unix