Perintah sort sangat membantu untuk mengurutkan/mengurutkan baris dalam file teks. Anda dapat mengurutkan data dalam file teks dan menampilkan output di layar, atau mengarahkannya ke file. Berdasarkan kebutuhan Anda, sort menyediakan beberapa opsi baris perintah untuk menyortir data dalam file teks.
Sort Command Syntax:
$ sort [-options]
Sebagai contoh, berikut adalah file pengujian:
$ cat test zzz sss qqq aaa BBB ddd AAA
Dan, inilah yang Anda dapatkan ketika perintah sortir dijalankan pada file ini tanpa opsi apa pun. Ini mengurutkan baris dalam file pengujian dan menampilkan output yang diurutkan.
$ sort test aaa AAA BBB ddd qqq sss zzz
1. Lakukan Pengurutan Numerik menggunakan opsi -n
Jika kita ingin mengurutkan berdasarkan nilai numerik, maka kita dapat menggunakan -n atau –pengurutan numerik pilihan.
Buat file pengujian berikut untuk contoh ini:
$ cat test 22 zzz 33 sss 11 qqq 77 aaa 55 BBB
Perintah sort berikut mengurutkan baris dalam file uji pada nilai numerik di kata pertama baris dan menampilkan output yang diurutkan.
$ sort -n test 11 qqq 22 zzz 33 sss 55 BBB 77 aaa
2. Urutkan Angka yang Dapat Dibaca Manusia menggunakan opsi -h
Jika kita ingin mengurutkan angka yang dapat dibaca manusia (mis., 2K 1M 1G), maka kita dapat menggunakan -h atau –pengurutan angka-manusia pilihan.
Buat file pengujian berikut untuk contoh ini:
$ cat test 2K 2G 1K 6T 1T 1G 2M
Perintah sortir berikut mengurutkan angka yang dapat dibaca manusia (yaitu 1K =1 Ribu, 1M =1 Juta, 1G =1 Giga, 1T =1 Tera) dalam file pengujian dan menampilkan keluaran yang diurutkan.
$ sort -h test 1K 2K 2M 1G 2G 1T 6T
3. Urutkan Bulan dalam Setahun menggunakan opsi -M
Jika kita ingin mengurutkan berdasarkan bulan dalam setahun, maka kita dapat menggunakan -M atau –urutan bulan pilihan.
Buat file pengujian berikut untuk contoh ini:
$ cat test sept aug jan oct apr feb mar11
Perintah sortir berikut mengurutkan baris dalam file uji sesuai pesanan bulan. Catatan, baris dalam file harus berisi setidaknya 3 karakter nama bulan di awal baris (misalnya jan, feb, mar). Jika kita akan memberi, ja untuk Januari atau au untuk Agustus, maka perintah sort tidak akan menganggapnya sebagai nama bulan.
$ sort -M test jan feb mar11 apr aug sept oct
4. Periksa apakah Konten Sudah Diurutkan menggunakan opsi -c
Jika kita ingin mengecek data dalam file teks terurut atau tidak, maka kita dapat menggunakan -c atau –check, –check=diagnose-first pilihan.
Buat file pengujian berikut untuk contoh ini:
$ cat test 2 5 1 6
Perintah sortir berikut memeriksa apakah data file teks diurutkan atau tidak. Jika tidak, maka menunjukkan kemunculan pertama dengan nomor baris dan nilai yang tidak teratur.
$ sort -c test sort: test:3: disorder: 1
5. Balikkan Output dan Periksa Keunikan menggunakan opsi -r dan -u
Jika kita ingin mendapatkan output yang diurutkan dalam urutan terbalik, maka kita dapat menggunakan -r atau –terbalik pilihan. Jika file berisi baris duplikat, maka untuk mendapatkan baris unik dalam output yang diurutkan, opsi “-u” dapat digunakan.
Buat file pengujian berikut untuk contoh ini:
$ cat test 5 2 2 1 4 4
Perintah sortir berikut mengurutkan baris dalam file uji dalam urutan terbalik dan menampilkan output yang diurutkan.
$ sort -r test 5 4 4 2 2 1
Perintah sortir berikut mengurutkan baris dalam file uji dalam urutan terbalik dan menghapus baris duplikat dari output yang diurutkan.
$ sort -r -u test 5 4 2 1
6. Sortir Konten Secara Selektif, Sesuaikan pembatas, Tulis output ke file menggunakan opsi -k, -t, -o
Jika kita ingin mengurutkan pada kolom atau posisi kata dalam baris file teks, maka opsi “-k” dapat digunakan. Jika setiap kata dalam setiap baris file dipisahkan oleh pembatas kecuali ‘spasi’, maka kita dapat menentukan pembatas menggunakan opsi “-t”. Kita bisa mendapatkan output yang diurutkan dalam file output tertentu (menggunakan opsi “-o”) alih-alih menampilkan output pada output standar.
Buat file pengujian berikut untuk contoh ini:
$ cat test aa aa zz aa aa ff aa aa tt aa aa kk
Perintah sortir berikut mengurutkan baris dalam file uji pada kata ke-3 dari setiap baris dan menampilkan output yang diurutkan.
$ sort -k3 test aa aa ff aa aa kk aa aa tt aa aa zz
$ cat test aa|5a|zz aa|2a|ff aa|1a|tt aa|3a|kk
Di sini, beberapa opsi digunakan secara bersamaan. Dalam file uji, kata-kata di setiap baris dipisahkan oleh pembatas '|'. Ini mengurutkan baris dalam file uji pada kata ke-2 dari setiap baris berdasarkan nilai numerik dan menyimpan output yang diurutkan ke dalam file output yang ditentukan.
$ sort -n -t'|' -k2 test -o outfile
Isi file output ditunjukkan di bawah ini.
$ cat outfile aa|1a|tt aa|2a|ff aa|3a|kk aa|5a|zz