Linux Sıralama Komutunun Kullanımları

Sıralanacak öğeler bir şekilde sınırlandırılmalıdır

Bir Linux metin dosyasındaki veriler, her öğe bir şekilde sınırlandırıldığı sürece sıralama komutuyla sıralanabilir. Sıklıkla, virgül ayrılmış bilgiler için ayırıcı olarak kullanılır.

Sıralama için Temel Kurallar

Sıralama komutu, sayısal ve alfabetik olarak sıralamak için satırları bir metin dosyasında yeniden düzenler. Sıralama komutu için varsayılan kurallar şunlardır:

Bir Metin Dosyasını Sıralama

Çizgileri ayrılmış bir Linux dosyasında sıralamak için sıralama komutunu şöyle kullanırsınız:

$ sort -k2 test.txt

ikinci sütunda başlayan karakterlere göre "test.txt" dosyasını sıralar (k2, ikinci sütuna karşılık gelir). Giriş dosyası içeriği varsayarsak:

1, Justin Timberlake, Başlık 545, Fiyat $ 7.30 2, Taylor Swift, Başlık 723, Fiyat $ 7.90 3, Mick Jagger, Başlık 610, Fiyat $ 7.90 4, Lady Gaga, Başlık 118, Fiyat $ 7.30 5, Johnny Nakit, Başlık 482, Fiyat $ 6.50 6, Elvis Presley, Başlık 335, Fiyat $ 7.30 7, John Lennon, Başlık 271, Fiyat $ 7.90 8, Michael Jackson, Başlık 373, Fiyat $ 5.50

Bu örnekteki ikinci sütun ilk ve son adları içerdiğinden, sıralı çıktı, ikinci sütundaki her bireyin ilk isminin ilk harfi ile düzenlenir — Elvis, John, Johnny, Justin, Lady, Michael, Mick ve Taylor. , Aşağıda gösterildiği gibi:

6, Elvis Presley, Başlık 335, Fiyat $ 6.30 7, John Lennon, Başlık 271, Fiyat $ 7.90 5, Johnny Nakit, Başlık 482, Fiyat $ 6.50 1, Justin Timberlake, Başlık 545, Fiyat $ 6.30 4, Lady Gaga, Başlık 118, Fiyat $ 6.30 8, Michael Jackson, Başlık 373, Fiyat $ 5.50 3, Mick Jagger, Başlık 610, Fiyat $ 7.90 2, Taylor Swift, Başlık 723, Fiyat $ 7.90

Dosyayı -k3 ile sıralarsanız (sütun 3'ten başlayarak Satır içeriği - Başlık numarası sütunu), çıktı:

4, Lady Gaga, Başlık 118, Fiyat $ 6.30 7, John Lennon, Başlık 271, Fiyat $ 7.90 6, Elvis Presley, Başlık 335, Fiyat $ 6.30 8, Michael Jackson, Başlık 373, Fiyat $ 5.50 5, Johnny Cash, Başlık 482, Fiyat $ 6.50 1, Justin Timberlake, Başlık 545, Fiyat $ 6.30 3, Mick Jagger, Başlık 610, Fiyat $ 7.90 2, Taylor Swift, Başlık 723, Fiyat $ 7.90

ve

$ sort -k4 test.txt

fiyatlara göre sıralanmış bir liste oluşturur:

8, Michael Jackson, Başlık 373, Fiyat $ 5.50 1, Justin Timberlake, Başlık 545, Fiyat $ 6.30 4, Lady Gaga, Başlık 118, Fiyat $ 6.30 6, Elvis Presley, Başlık 335, Fiyat $ 6.30 5, Johnny Cash, Başlık 482, Fiyat $ 6.50 2, Taylor Swift, Başlık 723, Fiyat $ 7.90 3, Mick Jagger, Başlık 610, Fiyat $ 7.90 7, John Lennon, Başlık 271, Fiyat $ 7.90

Sıralama Tersine Çevirme

-r seçeneği, sıralamayı tersine çevirir. Örneğin, yukarıdaki sonuçları kullanarak:

$ sort -k4 -r test.txt

verim:

7, John Lennon, Başlık 271, Fiyat $ 7.90 3, Mick Jagger, Başlık 610, Fiyat $ 7.90 2, Taylor Swift, Başlık 723, Fiyat $ 7.90 5, Johnny Nakit, Başlık 482, Fiyat $ 6.50 6, Elvis Presley, Başlık 335, Fiyat $ 6.30 4, Lady Gaga, Başlık 118, Fiyat $ 6.30 1, Justin Timberlake, Başlık 545, Fiyat $ 6.30 8, Michael Jackson, Başlık 373, Fiyat $ 5.50

Sıralı Bir Dosyayı Kaydetme

Bir dosyayı sıralamak onu kaydetmez. Sıralanan listeyi bir dosyaya kaydetmek için yönlendirme işlecini kullanırsınız:

sıralama -k4 -r test.txt> test_new.txt

"test_new.txt" yeni dosyadır.

Akış Çıkışını Sıralama

Ayrıca, sıralama komutunu, boru işleci gibi bir akışın çıktısına da uygulayabilirsiniz:

$ ls -al | sırala -r -n -k5

Bu, ls komutu tarafından oluşturulan dosya listesinin çıktısını en büyük dosyalardan başlayarak dosya boyutuna göre sıralar. -n operatörü, alfabetik değil, sayısal sıralamayı belirtir.