GNU/Linux >> Belajar Linux >  >> Linux

Kotak alat Sysadmin:Cara menggunakan perintah sortir untuk memproses teks di Linux

sort perintah digunakan di Linux untuk mencetak output file dalam urutan tertentu. Perintah ini memproses data Anda (konten file atau output dari perintah apa pun) dan mengurutkannya kembali dengan cara yang ditentukan, yang membantu kami membaca data secara efisien. Ini sangat berguna dalam kasus di mana sejumlah besar informasi tersedia dan perlu diatur dalam urutan abjad atau menaik atau menurun.

Dalam pengurutan abjad, perintah memeriksa huruf pertama dari setiap baris dan memindahkan baris ke atas atau ke bawah untuk mengatur setiap baris dalam urutan abjad.

Dalam pengurutan numerik, perintah memeriksa angka pada setiap baris dan mengatur baris dalam urutan menaik atau menurun. Organisasi ini menampilkan angka yang lebih kecil di bagian atas output Anda. Ada perbedaan yang sangat kecil dalam sort dan grep memerintah. sort perintah mengatur data menurut abjad atau numerik dalam urutan menaik atau menurun. grep perintah hanya menampilkan atau menyembunyikan informasi yang Anda inginkan.

Singkatnya, sort adalah perintah yang berguna ketika Anda perlu membaca file besar atau daftar yang tidak diatur dengan benar, dan membaca file-file ini menjadi sulit dan memakan waktu. Untuk mengatasi masalah ini, gunakan sort perintah di Linux untuk mengatur konten file atau daftar dalam format yang diperlukan, yang dapat membantu membaca konten yang diperlukan. sort perintah mengasumsikan data dalam format ASCII. Ada beberapa opsi yang berguna untuk sort yang dapat mengubah perilaku keluaran. Beberapa contoh diberikan di bawah ini, bersama dengan sintaks perintahnya.

Sintaks

sort [OPTION]... [FILE]...

sort [OPTION]... --files0-from=F

Contoh

Pada contoh pertama, kita menggunakan sort perintah tanpa opsi apa pun. Ini mengatur setiap baris dalam urutan abjad dengan mempertimbangkan huruf pertama dari setiap baris. Catatan:Baris yang dimulai dengan huruf kecil muncul sebelum baris yang dimulai dengan huruf besar. Oleh karena itu b (huruf kecil) berada di posisi pertama, dan B (huruf besar) ada di posisi kedua.

$ cat test.txt

Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Budhha
ChatrapatiShahuMaharaj
budhha
Ramaai
$ sort test.txt

budhha
Budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai

Terkadang, kita membutuhkan data dalam urutan terbalik yaitu kebalikan dari urutan abjad. Ini dilakukan dengan menggunakan -r pilihan, seperti yang terlihat di bawah ini:

$ sort test.txt

budhha
Budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai
$ sort -r test.txt

Ramaai
MahatmaJyotibaPhule
Dr.B.R.Ambedkar
ChatrapatiShahuMaharaj
Budhha
budhha

Seperti pengurutan huruf, kita dapat sort secara numerik juga. Opsi -n mengatur numerik dan membalikkan hasil Anda menggunakan -r pilihan. Di bawah, menggunakan -n pilihan, kami telah mengatur angka dalam urutan menaik. Oleh karena itu, bilangan terkecil berada di atas, dan bilangan terbesar berada di bawah. Kami juga dapat membalikkan output menggunakan opsi yang sama di atas -r dengan -n dan tampilkan angka terbesar di bagian atas.

$ cat numeric.txt

14
04
34
1891
938
378
2356
$ sort -n numeric.txt

04
14
34
378
938
1891
2356
$ sort -nr numeric.txt

2356
1891
938
378
34
14
04

Anda dapat sort kolom tertentu juga. Untuk sort kolom tertentu, gunakan -k pilihan bersama dengan nomor kolom. Harap perhatikan bahwa dalam contoh di bawah ini, kami hanya menggunakan -k pilihan untuk memilih kolom, oleh karena itu sort perintah mengatur data dengan mempertimbangkan digit pertama dari kolom kedua, bukan bilangan bulat dari kolom kedua. Jadi, baris yang berisi angka 278 ditampilkan sebelum baris yang berisi digit 28 . Jika kita menggunakan -n opsi dengan -k (untuk pemilihan kolom), maka data ditampilkan dalam urutan menaik, dan urutannya dari angka terkecil hingga terbesar (yang telah dibahas pada contoh kedua):

$ cat file2.txt

Advika 1
Amit 30
Ajit 28
Abhi 278
Chirag 2
$ sort -k 2 file2.txt

Advika 1
Chirag 2
Abhi 278
Ajit 28
Amit 30

Di sini, kami menggunakan nomor kolom dan pengurutan numerik bersama-sama. Dalam contoh berikut, kami mengurutkan kolom kelima secara numerik dalam urutan menaik.

$ ls -l

total 0
-rw-r--r-- 1 amwaghma hpcapp 42 Aug 20 19:30 file2.txt
-rw-r--r-- 1 amwaghma hpcapp 31 Aug 20 19:51 months.txt
-rw-r--r-- 1 amwaghma hpcapp 27 Aug 20 19:20 numeric.txt
-rw-r--r-- 1 amwaghma hpcapp 73 Aug 20 19:49 test.txt
$ ls -l | sort -nk 5

total 0
-rw-r--r-- 1 amwaghma hpcapp 27 Aug 20 19:20 numeric.txt
-rw-r--r-- 1 amwaghma hpcapp 31 Aug 20 19:51 months.txt
-rw-r--r-- 1 amwaghma hpcapp 42 Aug 20 19:30 file2.txt
-rw-r--r-- 1 amwaghma hpcapp 73 Aug 20 19:49 test.txt

Seringkali, ada banyak entri duplikat di beberapa baris. Itu dapat dihilangkan dengan menggunakan -u pilihan. Dalam contoh berikut, kami menampilkan perilaku -u opsi untuk menghilangkan entri duplikat:

$ cat test.txt

Dr.B.R.Ambedkar
MahatmaJyotibaPhule
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
budhha
Ramaai
Dr.B.R.Ambedkar
$ sort test.txt

budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
Dr.B.R.Ambedkar
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai
$ sort -u test.txt

budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai

Ada satu opsi menarik yang dengannya kita dapat memeriksa apakah file tersebut diurutkan atau tidak. Menggunakan -c pilihan, sort perintah melaporkan baris pertama yang tidak pada tempatnya. Jika file yang ada sudah diurutkan, maka sort tidak memberikan output apapun. Ia memeriksa setiap baris satu demi satu, dan ketika menemukan baris yang tidak diurutkan, ia memberikan pesan. Pada contoh di bawah ini, -c pilihan sort perintah membantu untuk memeriksa setiap baris. Dalam upaya pertama, ia membandingkan huruf pertama dari dua baris pertama, yang dianggap benar, yaitu huruf D dan huruf M disusun menurut abjad. Dalam upaya kedua, ia memeriksa huruf pertama baris ketiga dengan huruf awal dua baris pertama dan menemukan bahwa baris ketiga tidak diatur menurut abjad. Oleh karena itu, ia mencetak baris pertama file yang tidak cocok dengan nomor baris.

$ cat test.txt

Dr.B.R.Ambedkar
MahatmaJyotibaPhule
ChatrapatiShahuMaharaj
budhha
Ramaai
$ sort test.txt

budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai
$ sort -c test.txt

sort: test.txt:3: disorder: ChatrapatiShahuMaharaj

Sama seperti pengaturan data atau numerik, kita juga dapat mengatur bulan dalam file. Lakukan ini dengan menggunakan -M pilihan dan membalikkan urutan menggunakan -r pilihan.

$ cat months.txt

February
December
January
July
$ sort -M months.txt

January
February
July
December
$ sort -Mr months.txt

December
July
February
January

Kami juga dapat mengurutkan lebih dari satu file secara bersamaan dengan menggunakan nama file masing-masing sebagai argumen yang dipisahkan dengan spasi. Output dicetak satu demi satu. Di bawah ini, saya telah menggunakan -n opsi untuk mengurutkan file numerik kedua.

$ cat test.txt numeric.txt

Dr.B.R.Ambedkar
MahatmaJyotibaPhule
ChatrapatiShahuMaharaj
budhha
Ramaai
14
04
34
1891
938
378
2356
$ sort test.txt -n numeric.txt

budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai
04
14
34
378
938
1891
2356

Anda juga dapat mengarahkan output yang diurutkan ke file lain dengan menggunakan -o pilihan:

$ sort test.txt > sortfile

OR

$ sort -o sortfile test.txt

$ cat sortfile

budhha
Budhha
ChatrapatiShahuMaharaj
Dr.B.R.Ambedkar
MahatmaJyotibaPhule
Ramaai

Menutup

Dengan menggunakan opsi di atas, kita melihat bahwa pengurutan dapat dilakukan dengan konten file atau output dari perintah apa pun. Itu membuatnya mudah untuk mengatur kumpulan data besar dalam urutan menaik atau menurun. Ada begitu banyak opsi yang dapat kita gunakan untuk mengatur ulang data dengan semua cara yang memungkinkan. Hal yang paling menakjubkan adalah kami tidak membuat perubahan apa pun pada file aslinya. Oleh karena itu data kami aman.

[ Unduhan gratis:Lembar contekan perintah Linux tingkat lanjut. ]


Linux
  1. Cara menggunakan perintah sed Linux

  2. Cara menggunakan perintah grep Linux

  3. Cara Menggunakan Perintah id di Linux

  1. Cara menggunakan perintah history di Linux

  2. Cara Menggunakan Perintah sejarah Linux

  3. Cara menggunakan perintah "layar" di Linux

  1. Cara Menggunakan Perintah md5sum di Linux

  2. Cara Menggunakan Perintah Linux xargs

  3. Cara Menggunakan Perintah tee Linux