GNU/Linux >> Belajar Linux >  >> Linux

Perintah sortir Linux dengan Contoh

Pendahuluan

sort perintah adalah alat untuk menyortir isi file dan mencetak hasilnya dalam output standar. Mengurutkan ulang konten file secara numerik atau abjad dan mengatur informasi dalam urutan menaik atau menurun meningkatkan keterbacaan.

Dalam tutorial ini, Anda akan belajar menggunakan sort Linux perintah dan lihat contoh yang berguna.

Prasyarat

  • Sistem yang menjalankan Linux.
  • Akses ke terminal.

Sintaks pengurutan Linux

sort perintah memiliki sintaks berikut:

sort [options] filename

Menjalankan sort perintah tanpa [options] menampilkan konten file dan menerapkan aturan penyortiran default untuk lokal saat ini.

Aturan utamanya adalah:

  • Baris yang dimulai dengan angka pergi sebelum baris yang dimulai dengan huruf , disusun dalam naik pesan (1-10).
  • Garis yang dimulai dengan huruf diurutkan dalam naik urutan abjad (A-Z).

Misalnya, file berikut memiliki beberapa baris acak:

Jalankan sort untuk mengatur isi file dengan cara default:

Contoh di atas menunjukkan bagaimana sort perintah mengatur baris secara default ketika tidak ada opsi yang ditentukan.

Opsi pengurutan Linux

Tentukan opsi untuk mengubah sort aturan pengurutan perintah. Opsi yang paling sering digunakan tercantum dalam tabel di bawah ini:

Bentuk opsi singkat Bentuk opsi panjang Deskripsi
-b --ignore-leading-blanks Penyebab sort untuk mengabaikan bagian yang kosong.
-d --dictionary-order Penyebab sort untuk mempertimbangkan hanya karakter kosong dan alfanumerik.
-f --ignore-case Mengabaikan aturan pengurutan huruf besar-kecil dan mengubah semua huruf kecil menjadi huruf besar sebelum perbandingan.
/ --files0-from=F Membaca input dari file yang ditentukan oleh NUL -nama yang diakhiri dalam F . yang ditentukan mengajukan. Jika F adalah - , sort membaca nama dari input standar.
-M --month-sort Mengurutkan baris menurut bulan (Jan-Des).
-h --human-numeric-sort Membandingkan angka yang dapat dibaca manusia (mis., 2K 1G).
-n --numeric-sort Membandingkan data menurut nilai numerik string.
-R --random-sort Mengurutkan data berdasarkan kunci acak tetapi mengelompokkan kunci yang identik.
/ --random-source=FILE Mendapatkan byte acak dari FILE yang ditentukan .
-r --reverse Membalikkan hasil perbandingan.
/ --sort=WORD Urutkan data sesuai dengan WORD yang ditentukan :-g . numerik umum , manusia-numerik -h , bulan -M , numerik -n , -R random acak , versi -V .
-c --check, --check=diagnose-first Memeriksa apakah input sudah diurutkan tetapi tidak mengurutkannya.
/ --debug Menganotasi bagian garis yang digunakan untuk menyortir.
-k --key=KEYDEF Urutkan data menggunakan KEYDEF yang ditentukan , yang memberikan lokasi dan jenis kunci.
-m --merge Penyebab sort untuk menggabungkan file yang sudah diurutkan.
-o --output=FILE Mengalihkan output ke FILE alih-alih mencetaknya dalam keluaran standar.
-t --field-separator=SEP Menggunakan SEP yang ditentukan pemisah alih-alih transisi tidak kosong ke kosong.
-z --zero-terminated Menyebabkan pengurutan menggunakan NUL sebagai pembatas baris alih-alih karakter baris baru.
/ --help Menampilkan file bantuan dengan daftar opsi lengkap dan keluar.
/ --version Mengeluarkan versi program dan keluar.

Contoh pengurutan Linux

Di bawah ini adalah contoh penggunaan sort perintah untuk mengatur konten file dengan cara yang berbeda.

Contoh 1:Simpan Output ke File

sort perintah hanya menampilkan konten file setelah mengaturnya, tetapi tidak mengubah file. Namun, -o opsi memungkinkan Anda untuk menyimpan sort perintah output ke file.

Misalnya, perintah berikut mengurutkan data di default.txt file dan menyimpan hasilnya ke sorted.txt berkas:

sort -o sorted.txt default.txt

Menjalankan cat mengeluarkan konten file baru.

Cara lain untuk menyimpan sort keluaran perintah adalah mengarahkan ulang keluaran ke file:

sort default.txt > sorted.txt

Contoh 2:Periksa Penyortiran dalam File

Tentukan -c opsi untuk memeriksa apakah konten file telah diurutkan. Jika konten sudah diurutkan, tidak ada output dari sort memerintah.

Namun, ketika sort menemukan baris yang tidak disortir, ia mengeluarkan pesan yang melaporkan bahwa baris pertama tidak pada tempatnya.

Misalnya:

sort -c default.txt

Perintah mengeluarkan pesan yang melaporkan jumlah dan isi baris pertama yang tidak disortir.

Contoh 3:Urutkan Beberapa File

Ada dua cara untuk mengurutkan banyak file:

1. Cantumkan nama file sebagai argumen yang dipisahkan dengan spasi.

Urutkan beberapa file secara bersamaan dengan menentukan nama file masing-masing sebagai argumen, dipisahkan dengan spasi. Isi file digabungkan, disortir, dan dicetak dalam output standar.

Misalnya:

sort default1.txt default2.txt

Perintah tersebut menggabungkan, mengurutkan, dan mencetak konten kedua file.

2. Pipa find perintah output ke sort .

Cara lain untuk mengurutkan banyak file secara bersamaan adalah dengan menyalurkan output perintah find ke sort dan gunakan --files0-from= opsi di sort memerintah.

Tentukan -print0 opsi di find untuk mengakhiri nama file dengan NUL karakter dan pastikan program membaca daftar file dengan benar.

Misalnya:

find -name "default?.txt" -print0 | sort --files0-from=-

Contoh di atas menggabungkan dan mengurutkan default1.txt dan default2.txt file.

Contoh 4:Urutkan berdasarkan Bidang

Secara default, sort membandingkan seluruh isi baris dan memutuskan bagaimana mengurutkannya. Untuk membandingkan menurut subset data, tentukan bidang mana yang akan dibandingkan menggunakan -k pilihan.

-k opsi mengambil sintaks berikut:

-k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .Cend ] ][ Modifier ] ]
  • FStart . Awal baris.
  • CStart . Kolom pertama di lapangan.
  • Fend . Akhir baris.
  • CEnd . Kolom terakhir dari bidang tersebut.

Kunci pengurutan mencakup semua karakter yang dimulai dengan bidang yang ditentukan oleh FStart variabel dan kolom yang ditentukan oleh CStart variabel. Kunci diakhiri dengan bidang yang ditentukan oleh FEnd dan kolom yang ditentukan oleh CEnd .

Tidak menentukan Fend mengasumsikan karakter terakhir baris sebagai akhir. Tanpa menentukan CEnd , karakter terakhir di FEnd bidang diasumsikan.

Jika ada spasi di antara bidang, sort menganggapnya sebagai bidang yang terpisah.

Misalnya, baris dalam file berikut berisi tiga bidang:

Urutkan data berdasarkan kolom kedua dengan menjalankan:

sort -k 2,2 school.txt

Perintah mengurutkan data menurut kolom kedua dan mengabaikan kolom pertama.

Contoh 5:Urutkan dalam Urutan Terbalik

Gunakan -r opsi untuk mengurutkan data dalam urutan terbalik, yaitu dalam urutan abjad terbalik atau angka tertinggi ke terendah.

Misalnya, file berikut diurutkan dengan aturan pengurutan default:

sort default.txt

Menentukan -r opsi membalikkan urutan penyortiran:

sort -r default.txt

Contoh 6:Hapus Entri Duplikat

-u opsi memungkinkan sort untuk menghapus entri duplikat dari file. Misalnya, file berikut memiliki beberapa entri duplikat:

Menentukan -u opsi mengurutkan data dan menghapus baris duplikat:

sort -u test.txt

Contoh 7:Urutkan berdasarkan Bulan

Tentukan -M pilihan untuk mengatur data sesuai dengan bulan yang tercantum dalam file.

Untuk mendemonstrasikan pengurutan berdasarkan bulan, buat file yang diisi oleh output perintah ls:

ls -l > month-sorting.txt

Urutkan data dari ls -l keluaran berdasarkan bulan dengan menjalankan perintah berikut:

sort -Mk6 month-sorting.txt

Perintah mengurutkan konten file berdasarkan bidang keenam berisi pembuatan file bulan .

Contoh 8:Mengurutkan Data Secara Acak

Gunakan -R opsi untuk mengatur data secara acak tanpa menerapkan kriteria penyortiran apa pun.

Misalnya, file berikut berisi beberapa baris yang diurutkan secara numerik:

Campurkan urutan baris dengan perintah berikut:

sort -R ordered.txt

Outputnya menunjukkan bahwa data sekarang diurutkan secara acak.

Contoh 9:Tentukan Pembatas

sort memisahkan bidang dalam garis menggunakan spasi (spasi atau tab) sebagai pembatas bidang. Tentukan -t opsi untuk mengubah pembatas bidang ke karakter yang berbeda.

Misalnya, file berikut berisi beberapa bidang, termasuk nama seseorang, jabatan, dan tempat tinggal:

Menyortir file berdasarkan tempat tinggal tanpa mengubah pembatas tidak akan berfungsi karena beberapa kota memiliki spasi di tengah namanya. Spasi membuat sort menafsirkan nama kota sebagai dua bidang, bukan satu.

Ubah pembatas menjadi koma (, ) untuk mengurutkan konten file dengan benar:

sort -t, -k4 school.txt

Mengubah pembatas menghasilkan keluaran yang diinginkan.

Contoh 10:Mengurutkan Output Aliran

Cara lain untuk memberikan masukan ke sort perintahnya adalah menggunakan pipa (| ) operator. Piping ke sort memungkinkannya untuk mengatur output perintah lain dan, secara opsional, menyimpan hasilnya ke dalam file.

Contoh berikut menunjukkan cara menyalurkan ls perintah output ke sort dan atur konten berdasarkan ukuran file:

ls -l /home/$USER | sort -nk5

-nk5 opsi menentukan penyortiran numerik di bidang kelima .


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah kepala Linux dengan Contoh

  3. Urutkan Perintah di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah Echo di Linux (Dengan Contoh)

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah man di Linux dengan Contoh

  2. Perintah AWK di Linux dengan Contoh

  3. Perintah Curl di Linux dengan Contoh