Örneklerle Linux’ta uniq Komutu Nasıl Kullanılır

Merhabalar,

 

Linux’taki uniq komutu, bir dosyada tekrarlanan satırları raporlayan veya filtreleyen bir komut satırı yardımcı programıdır.
Basit bir deyişle, uniq, bitişik yinelenen satırları algılamaya yardımcı olan ve yinelenen satırları silen araçtır. uniq, girdi dosyasından (bir argüman olarak gerekli olan) bitişik eşleşen satırları filtreler ve filtrelenmiş verileri çıktı dosyasına yazar.

 

uniq Komutunun Söz Dizimi:

uniq [SEÇENEK] [GİRDİ[ÇIKIŞ]]

Bunun söz  dizimini anlamak oldukça kolaydır. Burada INPUT, tekrarlanan satırların filtrelenmesi gereken girdi dosyasına atıfta bulunur ve INPUT belirtilmemişse uniq standart girdiden okur. OUTPUT, uniq komutu tarafından oluşturulan filtrelenmiş çıktıyı depolayabileceğiniz çıktı dosyasını ifade eder ve INPUT durumunda olduğu gibi OUTPUT belirtilmezse uniq standart çıktıya yazar.

Şimdi bunun kullanımını bir örnek yardımıyla anlayalım. Atlanması gereken tekrarlanan satırları içeren linux.txt adında bir metin dosyanız olduğunu varsayalım. Bu basitçe uniq ile yapılabilir.

 

 

view-current-file-with-cat-command

view-current-file-with-cat-command

 

Şimdi, gördüğümüz gibi, yukarıdaki dosya birden çok yinelenen satır içeriyor. Şimdi bunları kaldırmak için uniq komutunu kullanalım.

running-the-unig-command-on-a-file

running-the-unig-command-on-a-file

 

Gördüğünüz gibi, yukarıdaki uniq örneğinde girdi dosyasının adını kullandık ve üretilen çıktıyı depolamak için herhangi bir çıktı dosyası kullanmadığımız için, uniq komutu filtrelenmiş çıktıyı standart çıktıda tüm yinelenen satırlarla birlikte gösterdi. kaldırıldı.Bire bir aynı olan tekrarlan satırların hepsi kaldırıldı.

 

Not: uniq, birbirine bitişik olmadıkça yinelenen satırları algılayamaz. Bu nedenle, dosyadaki içerik uniq kullanılmadan önce sıralanmalıdır veya uniq komutu yerine basitçe sort -u komutunu kullanabilirsiniz.Bu çok önemli  peş peş tekrarlı satırlar sadece benzersiz hale getirilir.

 

uniq Komutu için Seçenekler:

-c – -count : Satırın başına bir sayı koyarak satırın kaç kez tekrarlandığını söyler.

-d – -repeated : Tekrarlanmayan satırları değil, yalnızca tekrarlanan satırları yazdırır.

-D – -all-repeated[=METHOD] : Tüm yinelenen satırları yazdırır ve METHOD aşağıdakilerden herhangi biri olabilir.
none : Yinelenen satırları hiç sınırlamayın. Bu varsayılandır.
prepend : Çoğaltılan her satır kümesinden önce boş bir satır ekleyin.
separate : Yinelenen her satır kümesi arasına boş bir satır ekleyin.

-f N – -skip-fields(N) : Bir satırın benzersizliğini belirlemeden önce bir satırın N alanını (bir alan, boşlukla ayrılmış bir karakter grubudur) atlamanıza olanak tanır.

-i – -ignore case : Varsayılan olarak, yapılan karşılaştırmalar büyük/küçük harf duyarlıdır ancak bu seçenek ile büyük/küçük harfe duyarlı olmayan karşılaştırmalar yapılabilir.

-s N – -skip-chars(N) : Benzersizliği belirlerken her satırın ilk N karakterini karşılaştırmaz. Bu -f seçeneği gibidir, ancak alanlar yerine tek tek karakterleri atlar.

-u – -unique : Yalnızca benzersiz satırları yazdırmanıza olanak tanır.

-z – -zero-terminated : Satırın yeni satır yerine 0 bayt(NULL) ile bitmesini sağlar.

-w N – -check-chars(N) : Bir satırda yalnızca N karakteri karşılaştırır.

– – help : Bir yardım mesajı görüntüler ve çıkar.

– – version: Versiyon bilgisini görüntüler ve çıkış yapar.

Seçenekler ile uniq örnekleri

1. -c seçeneğini kullanma : Bir satırın kaç kez tekrarlandığını söyler.

uniq -c linux.txt
uniq-count-It-tells-the-number-of-times-a-line-was-repeated

uniq-count-It-tells-the-number-of-times-a-line-was-repeated

 

2. -d seçeneğinin kullanılması : Yalnızca tekrarlanan satırları yazdırır.

uniq -d linux.txt
uniq-repeated-It-only-prints the-repeated-lines-

uniq-repeated-It-only-prints the-repeated-lines

 

 

3. -D seçeneğinin kullanılması : Ayrıca, grup başına bir değil, yalnızca yinelenen satırları yazdırır.

uniq -D linux.txt
uniq-all-repeated-also-prints-only-duplicate-lines

uniq-all-repeated-also-prints-only-duplicate-lines

 

4. -u seçeneğinin kullanılması : Yalnızca benzersiz satırları yazdırır.

uniq -u linux.txt
uniq-unique-It-prints-only-the-unique-lines

uniq-unique-It-prints-only-the-unique-lines

 

5. -f N seçeneğinin kullanılması : Bazen yinelenen satırları filtrelemek için bazı alanları atlamamız gerekir. Bu -f seçeneği kullanılarak mümkündür. Aşağıdaki örnekte, ikinci alandan yinelenen satırları karşılaştırmak için ilk alanı (birinci sütunu) atlıyoruz. Seçeneğin davranışını daha iyi anlamak için -f seçeneği olan ve olmayan her iki örneği de verdim.Dikkat ederseniz ilk sütun olan “merhaba, hallo, hello ve bonjour” atlandı.Kontrol 2. sütun üzerinden yapıldı.

uniq -f 1 evren.txt
uniq-It-allows-you-to-skip-N-fields

uniq-It-allows-you-to-skip-N-fields

 

 

6. -s N seçeneğinin kullanılması : Bu -f N seçeneğine benzer, ancak N karakter atlar, ancak N alanı atlamaz.

uniq -s 2 evren.txt
uniq-It-allows-you-to-skip-N-characters

uniq-It-allows-you-to-skip-N-characters

 

 

 

7. -w seçeneğini kullanma : Karakter atlama yöntemine benzer şekilde, uniq’ten karşılaştırmayı belirli sayıda karakterle sınırlamasını da isteyebiliriz. Bunun için -w komut satırı seçeneği kullanılır.

uniq -w 3 evren.txt
uniq-check-chars(N)-It-only-compares-N-characters-in-a-line

uniq-check-chars(N)-It-only-compares-N-characters-in-a-line

 

 

 

8. -i seçeneğinin kullanılması : Karşılaştırmayı büyük/küçük harf duyarlı hale getirmek için kullanılır.

uniq -i linux.txt
uniq-ignore case- It-is-used-to-make-the-comparison-case-insensitive

uniq-ignore case- It-is-used-to-make-the-comparison-case-insensitive

 

 

 

9. -z seçeneğinin kullanılması : Varsayılan olarak, uniq’in ürettiği çıktı satır sonu sonlandırılır. Ancak, isterseniz, bunun yerine NULL sonlandırılmış bir çıktıya sahip olmak istersiniz (scripts içinde uniq ile uğraşırken kullanışlıdır). Bu, -z komut satırı seçeneği kullanılarak yapılabilir.

uniq -z linux.txt

Bu eğitim yazımızın sonuna geldik.Umarım sizler için faydalı olur.

 

 

 

Bu eğiticiye oy ver
[Total: 1 Average: 5]
Firat CANOĞLU TAĞ