BaşlayınÜcretsiz Başlayın

Yinelenen satırları nasıl kaldırabilirim?

sort ile sıkça birlikte kullanılan başka bir komut da, yinelenen satırları kaldıran uniq'tir. Daha net söylemek gerekirse, bu komut yalnızca bitişik yinelenen satırları kaldırır. Eğer bir dosya şunu içeriyorsa:

2017-07-03
2017-07-03
2017-08-03
2017-08-03

uniq şu çıktıyı üretir:

2017-07-03
2017-08-03

ama şu içerikteyse:

2017-07-03
2017-08-03
2017-07-03
2017-08-03

uniq dört satırın hepsini yazdırır. Bunun nedeni uniq komutunun çok büyük dosyalarla çalışacak şekilde tasarlanmış olmasıdır. Bir dosyadan bitişik olmayan yinelenen satırları kaldırmak için tüm dosyayı bellekte tutması gerekir (ya da en azından, şimdiye kadar görülen tüm benzersiz satırları). Sadece bitişik tekrarları kaldırarak bellekte yalnızca en son benzersiz satırı tutması yeterlidir.

Bu egzersiz

Shell'e Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

Bir boru hattı (pipeline) yaz:

  • seasonal/winter.csv dosyasının ikinci sütununu al,
  • çıktıda yalnızca diş adları görünsün diye "Tooth" kelimesini kaldır,
  • çıktıyı sırala ki aynı diş adına ait tüm tekrarlar bitişik olsun; ve
  • her diş adını, kaç kez göründüğünü belirten bir sayımla birlikte yalnızca bir kez göster.

Boru hattının başlangıcı önceki egzersizle aynı:

cut -d , -f 2 seasonal/winter.csv | grep -v Tooth

Bunu bir sort komutuyla genişlet ve her benzersiz satırı kaç kez geçtiğiyle birlikte göstermek için uniq -c kullan; uniq ve wc kullanma.

Uygulamalı interaktif egzersiz

İnteraktif egzersizlerimizden biriyle teoriyi pratiğe dökün

Egzersizi başlat