Linux kullanarak bir dosyadaki verileri nasıl sıralamak

Giriş

Bu kılavuzda, verileri ayrılmış dosyalarda ve diğer komutların çıkışından nasıl sıralayacağınızı göstereceğim.

Bu görevi gerçekleştirmek için kullandığınız komutun "sort" olarak adlandırıldığını öğrenmeye şaşıracaksınız. Bu makalede sıralama komutunun tüm önemli anahtarları sağlanacaktır.

Örnek veri

Bir dosyadaki veriler, bir şekilde sınırlandırılmış olduğu sürece sıralanabilir.

Örneğin, geçtiğimiz yıl İskoçya Premier Ligi final lig tablosuna gidelim ve verileri "spl" adlı bir dosyada saklayalım.

Bir veri dosyasını aşağıdaki gibi bir kulüp ve her bir satırda virgülle ayırarak o kulübe ait verileri oluşturabilirsiniz.

Takım Gol attı Karşı Karşı Goller makas
Kelt 93 31 86
Aberdeen 62 48 71
Kalpler 59 40 65
St Johnstone 58 55 56
Motherwell 47 63 50
Ross County 55 61 48
Inverness 54 48 52
Dundee 53 57 48
Partick 41 50 46
Hamilton 42 63 43
Kilmarnock 41 64 36
Dundee United 45 70 28

Verileri Dosyalara Nasıl Sıralamalı

Bu tablodan, Celtic'in ligin kazanıldığını ve Dundee United'ın en son geldiğini görebilirsiniz. Bir Dundee United hayranı iseniz kendinizi daha iyi hissettirmek isteyebilirsiniz ve bunu gol attırarak sıralayabilirsiniz.

Bunu yapmak için aşağıdaki komutu çalıştırın:

sort -k2 -t, spl

Bu sefer sipariş şöyle olacaktı:

Sonuçların bu sıradaki nedeni, sütun 2'nin gol attı sütunudur ve sıralama en düşükten en yükseğe doğrudur.

-k anahtarı, sıralamak için sütunu seçmenizi sağlar ve -t anahtarı sınırlayıcıyı seçmenize izin verir.

Kendilerini gerçekten mutlu etmek için Dundee United taraftarları aşağıdaki komutu kullanarak 4. sütuna göre sıralama yapabilir:

sıralama -k4 -t, spl

Şimdi Dundee United üstte ve Celtic altta.

Tabii ki, bu hem Celtic hem de Dundee hayranlarını gerçekten çok mutsuz eder. Bir şeyleri doğru koymak için aşağıdaki anahtarı kullanarak ters sıralayabilirsiniz:

-k4 -t, -r spl sırala

Oldukça tuhaf bir anahtar, rastgele sıralama yapabilmenizi sağlar ki bu da sadece veri satırlarını karıştırır.

Bunu aşağıdaki komutu kullanarak yapabilirsiniz:

-k4 -t, -R spl sırala

-r ve -R anahtarınızı karıştırdıysanız, bu durum gerçek sorunlara neden olabilir.

Sıralama komutu da tarihleri ​​ay düzenine göre sıralayabilir. Aşağıdaki tabloya bakmak için:

Ay Kullanılan Veriler
Ocak 4G
Şubat 3000K
Mart 6000K
Nisan 100M
Mayıs ayı 5000M
Haziran 200K
Temmuz 4000K
Ağustos 2500K
Eylül 3000K
Ekim 1000K
Kasım 3G
Aralık 2G

Yukarıdaki tablo, yılın ayı ve bir mobil cihazda kullanılan veri miktarını temsil eder.

Tarihleri ​​aşağıdaki komutu kullanarak alfabetik olarak sıralayabilirsiniz:

-k1 -t, datausedlist sırala

Aşağıdaki komutu kullanarak ay olarak da sıralayabilirsiniz:

-k1 -t, -M veri listelerini sırala

Şimdilerde yukarıdaki tablo aylar içinde zaten gösteriyor, ancak liste rastgele doldurulduysa, bu onları sıralamak için basit bir yol olurdu.

İkinci sütuna baktığımızda, tüm değerlerin insan tarafından okunabilir bir biçimde görülebildiğini göreceksiniz. Bu, sıralamanın kolay olması gibi görünmüyor ancak sıralama komutu aşağıdaki komutu kullanarak kullanılan veri sütununu sıralayabilir:

-k2 -t, -h datausedlist sırala

Diğer Komutlardan Gelen Verileri Nasıl Sıralamak

Verileri dosyalara ayırmak yararlı olsa da, sort komutu ayrıca çıkışı diğer komutlardan ayırmak için de kullanılabilir:

Örneğin ls komutuna bakın :

ls -lt

Yukarıdaki komut, her dosyayı sütunlarda görüntülenen aşağıdaki alanlara sahip bir veri satırı olarak döndürür:

Aşağıdaki komutu çalıştırarak listeyi dosya boyutuna göre sıralayabilirsiniz:

ls -lt | sıralama -k5

Sonuçları ters sırada almak için aşağıdaki komutu kullanırsınız:

ls -lt | sıralama -k5 -r

Sıralama komutu, sisteminizde çalışan işlemleri listeleyen ps komutuyla birlikte de kullanılabilir.

Örneğin, sisteminizde aşağıdaki ps komutunu çalıştırın:

ps -eF

Yukarıdaki komut, sisteminizde şu anda çalışan işlemler hakkında birçok bilgi döndürür.

Bu sütunlardan biri boyutudur ve hangi süreçlerin en büyük olduğunu görmek isteyebilirsiniz.

Bu verileri boyuta göre sıralamak için aşağıdaki komutu kullanırsınız:

ps -eF | sıralama -k5

özet

Sıralama komutuna pek bir şey yok, ancak özellikle komutun kendi sıralama anahtarları bulunmadığında, diğer komutlardan çıktıyı anlamlı bir sıraya ayırırken çok hızlı bir şekilde kullanılabilir.

Daha fazla bilgi için sıralama komutunun manuel sayfalarını okuyun.