Linux Command Line

Linux Dosyalarında Eşsiz Satırları Etkin Bir Şekilde Sayma

Spread the love

Linux’ta bir dosyadaki benzersiz satırları saymak yaygın bir işlemdir. Bu makale, sort ve uniq kullanarak ve awk kullanarak iki verimli komut satırı yöntemini sunmaktadır.

İçindekiler

sort ve uniq ile Benzersiz Satırları Sayma

Bu yöntem, basit bir yaklaşım için sort ve uniq‘in gücünü birleştirir. sort satırları alfabetik olarak sıralar; bu, yalnızca ardışık aynı satırları sayan uniq için bir ön koşuldur. uniq‘teki -c seçeneği, her satıra bir sayı öneki ekler.

file.txt dosyasındaki benzersiz satırları saymak için:


sort file.txt | uniq -c

Bu, her benzersiz satırı sayısıyla birlikte görüntüler. Benzersiz satırların toplam sayısını almak için çıktıyı wc -l‘ye yönlendirin:


sort file.txt | uniq -c | wc -l

Örnek:

file.txt şunları içeriyorsa:


apple
banana
apple
orange
banana
apple

sort file.txt | uniq -c şu çıktıyı verir:


      3 apple
      2 banana
      1 orange

Ve sort file.txt | uniq -c | wc -l şu çıktıyı verir:


3

awk ile Benzersiz Satırları Sayma

awk, özellikle daha karmaşık senaryolar için kullanışlı, esnek bir çözüm sunar. Bu yöntem, benzersiz satırları ve sayımlarını izlemek için ilişkisel bir dizi kullanır.

Benzersiz satırları sayıp sayılarıyla birlikte görüntülemek için:


awk '{count[$0]++} END {for (line in count) print count[line], line}' file.txt

Bu komut dosyası, satırı anahtar olarak kullanarak count dizisindeki her satırın sayımını artırır. END bloğu, diziyi yineleyerek her satırın sayımını ve satırın kendisini yazdırır.

Yalnızca benzersiz satırların toplam sayısını almak için:


awk '{count[$0]++} END {print length(count)}' file.txt

Bu, benzersiz satır sayısını (dizinin boyutu) doğrudan çıktılamak için length(count)‘ı kullanır.

Örnek:

Aynı file.txt‘yi kullanarak, ilk awk komutu sort | uniq -c yöntemi ile aynı çıktıyı üretir. İkinci awk komutu, üç benzersiz satırı gösteren 3 çıktısını verir.

İhtiyaçlarınıza en uygun yöntemi seçin. sort ve uniq basit görevler için daha basittir; awk karmaşık senaryolar için daha fazla esneklik sağlar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir