Item yang akan diurutkan harus dibatasi dalam beberapa cara
Data dalam file teks Linux dapat diurutkan dengan perintah sortir selama setiap elemen dibatasi dalam beberapa cara. Seringkali, koma digunakan sebagai pemisah untuk informasi yang dibatasi.
Aturan Dasar untuk Menyortir
Perintah semacam mengatur ulang garis dalam file teks untuk mengurutkan mereka secara numerik dan alfabet. Aturan default untuk perintah pengurutan adalah:
- Teks yang dimulai dengan angka muncul sebelum teks yang dimulai dengan huruf; angka yang lebih rendah menyortir lebih dulu.
- Teks yang dimulai dengan huruf yang muncul di alfabet sebelumnya bahwa huruf pertama dari entri teks lainnya disortir sebelum teks yang dimulai dengan huruf yang muncul kemudian di alfabet.
- Di mana teks dimulai dengan huruf besar dan huruf kecil dari huruf yang sama, contoh huruf kecil disortir terlebih dahulu.
Menyortir File Teks
Untuk mengurutkan garis dalam file Linux yang dipisahkan, Anda menggunakan perintah sortir seperti ini:
$ sort -k2 test.txtyang mengurutkan file "test.txt" sesuai dengan karakter yang dimulai pada kolom kedua (k2 merujuk ke kolom kedua). Dengan asumsi isi file input adalah:
1, Justin Timberlake, Judul 545, Harga $ 7,30 2, Taylor Swift, Judul 723, Harga $ 7,90 3, Mick Jagger, Judul 610, Harga $ 7,90 4, Lady Gaga, Judul 118, Harga $ 7,30 5, Johnny Cash, Judul 482, Harga $ 6,50 6, Elvis Presley, Judul 335, Harga $ 7,30 7, John Lennon, Judul 271, Harga $ 7,90 8, Michael Jackson, Judul 373, Harga $ 5,50Karena kolom kedua dalam contoh ini berisi nama depan dan belakang, hasil yang disortir disusun oleh huruf pertama dari nama depan masing-masing individu di kolom kedua — Elvis, John, Johnny, Justin, Lady, Michael, Mick, dan Taylor , seperti yang ditunjukkan di bawah ini:
6, Elvis Presley, Judul 335, Harga $ 6,30 7, John Lennon, Judul 271, Harga $ 7,90 5, Johnny Cash, Judul 482, Harga $ 6,50 1, Justin Timberlake, Judul 545, Harga $ 6,30 4, Lady Gaga, Judul 118, Harga $ 6,30 8, Michael Jackson, Judul 373, Harga $ 5,50, Mick Jagger, Judul 610, Harga $ 7,90 2, Taylor Swift, Judul 723, Harga $ 7,90Jika Anda mengurutkan file dengan -k3 (menggunakan konten baris yang dimulai pada kolom 3 - kolom Nomor judul), hasilnya adalah:
4, Lady Gaga, Judul 118, Harga $ 6,30 7, John Lennon, Judul 271, Harga $ 7,90 6, Elvis Presley, Judul 335, Harga $ 6,30 8, Michael Jackson, Judul 373, Harga $ 5,50 5, Johnny Cash, Judul 482, Harga $ 6,50 1, Justin Timberlake, Judul 545, Harga $ 6,30 3, Mick Jagger, Judul 610, Harga $ 7,90 2, Taylor Swift, Judul 723, Harga $ 7,90dan
$ sort -k4 test.txtmenghasilkan daftar yang diurut berdasarkan harga:
8, Michael Jackson, Judul 373, Harga $ 5,50 1, Justin Timberlake, Judul 545, Harga $ 6,30 4, Lady Gaga, Judul 118, Harga $ 6,30 6, Elvis Presley, Judul 335, Harga $ 6,30 5, Johnny Cash, Judul 482, Harga $ 6,50 2, Taylor Swift, Judul 723, Harga $ 7,90 3, Mick Jagger, Judul 610, Harga $ 7,90 7, John Lennon, Judul 271, Harga $ 7,90Membalik Urutan
Opsi -r membalikkan penyortiran. Misalnya, menggunakan hasil di atas:
$ sort -k4 -r test.txthasil:
7, John Lennon, Judul 271, Harga $ 7,90 3, Mick Jagger, Judul 610, Harga $ 7,90 2, Taylor Swift, Judul 723, Harga $ 7,90 5, Johnny Cash, Judul 482, Harga $ 6,50 6, Elvis Presley, Judul 335, Harga $ 6,30 4, Lady Gaga, Judul 118, Harga $ 6,30 1, Justin Timberlake, Judul 545, Harga $ 6,30 8, Michael Jackson, Judul 373, Harga $ 5,50Menyimpan File yang Diurutkan
Menyortir file tidak menyimpannya. Untuk menyimpan daftar yang diurutkan dalam file, Anda menggunakan operator redirect:
semacam -k4 -r test.txt> test_new.txtdi mana "test_new.txt" adalah file baru.
Menyortir Output Streaming
Anda juga dapat menerapkan perintah sortir ke output dari aliran, seperti operator pipa:
$ ls -al | urutkan -r -n -k5Ini mengurutkan output dari daftar file yang dihasilkan oleh perintah ls berdasarkan ukuran file, dimulai dengan file terbesar. Operator -n menentukan penyortiran numerik dan bukan abjad.