GNU/Linux >> Belajar Linux >  >> Linux

Menyortir banyak kunci dengan pengurutan Unix

Opsi -k adalah yang Anda inginkan.

-k 1.4,1.5n -k 1.14,1.15n

Akan menggunakan posisi karakter 4-5 di kolom pertama (semuanya satu kolom untuk lebar tetap) dan urutkan secara numerik sebagai kunci pertama.

Kunci kedua juga akan menjadi karakter 14-15 di kolom pertama.

(sunting)

Contoh (semua yang saya miliki adalah DOS/cygwin berguna):

dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r

untuk datanya:

12/10/2008  01:10 PM         1,564,990 outfile.txt

Mengurutkan daftar direktori berdasarkan nomor bulan (pos 4-5) secara numerik, lalu berdasarkan nama file (pos 40-60) secara terbalik. Karena tidak ada tab, semuanya adalah kolom 1 untuk diurutkan.


Berhati-hatilah:

Jika Anda ingin mengurutkan file terutama berdasarkan bidang 3, dan kedua berdasarkan bidang 2, Anda menginginkan ini:

sort -k 3,3 -k 2,2 < inputfile

Bukan ini: sort -k 3 -k 2 < inputfile yang mengurutkan file berdasarkan string dari awal bidang 3 hingga akhir baris (yang berpotensi unik).

-k, --key=POS1[,POS2]     start a key at POS1 (origin 1), end it at POS2
                          (default end of line)

Linux
  1. Menyortir file yang dibatasi tab

  2. Menyortir pada bidang terakhir dari suatu baris

  3. Warna dengan arloji perintah unix?

  1. Menyortir angka dengan banyak desimal di bash

  2. Menyortir ukuran file yang dapat dibaca manusia

  3. find perintah urutan penyortiran default

  1. Diurutkan dengan sort di baris perintah

  2. Urutkan Perintah di Linux dengan Contoh

  3. Screencast Menekan Tombol di Linux dengan Screenkey