Birden Fazla Komutu Zincirleme
Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası — ders 45 / 82.
Sadece iki komutu birbirine bağlamakla sınırlı değilsiniz. Boru hatları (pipes), her biri bir önceki komutun çıktısını işleyecek şekilde, ihtiyacınız olan sayıda komutu birbirine zincirleyebilir.
Boru hattını genişletmek için daha fazla | sembolü eklemeniz yeterlidir:
cat data.txt | sort | head -5Bu, dosyayı okur, tüm satırları alfabetik olarak sıralar ve ardından yalnızca ilk 5 sonucu gösterir. Veri, her bir komut boyunca sırayla soldan sağa doğru akar.
İşte benzersiz sıralanmış girdileri bulan pratik bir örnek:
cat names.txt | sort | uniqDosya içerikleri önce sıralanır (bu, kopyaları bir araya getirir), ardından uniq ardışık kopya satırları kaldırır. Burada sıra önemlidir — uniq yalnızca bitişik kopyaları kaldırır, bu nedenle önce sıralama yapılmalıdır.
Daha fazla aşama ekleyebilirsiniz. Kaç tane benzersiz ismin mevcut olduğunu saymak için:
cat names.txt | sort | uniq | wc -lHer pipe, başka bir dönüşüm adımı ekler. Daha uzun pipeline'lar oluştururken, her komutun girdi olarak neye ihtiyaç duyduğunu ve çıktı olarak ne ürettiğini düşünün. Bir komutun çıktı formatı, bir sonraki için girdi olarak anlamlı olmalıdır.
Görev
Kolayvisitors.txt dosyası, yinelenen isimlerin bulunduğu bir ziyaretçi listesi içerir. Kaç tane benzersiz ziyaretçi olduğunu saymak için dört komutlu bir boru hattı (pipeline) kullanın.
Şunları yapan tek bir komut çalıştırın:
visitors.txtdosyasını okumak içincatkullanır- İsimleri alfabetik olarak düzenlemek için
sortkomutuna aktarır (pipe) - Yinelenen girişleri kaldırmak için
uniqkomutuna aktarır - Benzersiz isimleri saymak için
wc -lkomutuna aktarır
İpucu: Birden fazla
|sembolü kullanarak dört komutun hepsini birbirine bağlayın.uniqkomutunun yalnızca bitişik kopyaları kaldırdığını unutmayın, bu nedenle sıralama işlemi ondan önce gelmelidir.
Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Dizinler
Bir Dizin OluşturBir Dizin KopyalaBir Dizin Taşı ve Yeniden AdlandırBir Dizin SilÖzet - Dizin İşlemleri7Dosya İçeriği
Head ve TailKelime SayısıSort KomutuUnik KomutuGrep TemelleriBayraklarla GrepÖzet - Metin Dedektifi10Günlük Analizörü Projesi
Proje Genel BakışıGünlük Dosyasını Görüntüleme2Navigasyon
Çalışma Dizini'ni YazdırDosyaları ListeleDizin DeğiştirMutlak ve Göreli YollarEv ve Kök DizinÖzet - Yolunu Bul8Yönlendirme
Standart ÇıktıDosyaya Üzerine YazmaDosyaya EklemeStandart GirdiStandart HataÖzet - Günlük Oluşturucu3Dosyalar
Bir Dosya OluşturBir Dosya OkuBir Dosya KopyalaBir Dosyayı Taşı ve Yeniden AdlandırBir Dosya SilÖzet - Dosya İşlemleri6Joker Karakterler ve Desenler
Yıldız Joker KarakteriSoru İşareti Joker KarakteriKöşeli Parantez JokerleriJoker Karakterleri BirleştirmeÖzet - Seçici İşlemler9Borulama
Boru Nedir?İki Komutu ZincirlemeBirden Fazla Komutu ZincirlemeGrep ile BoruÖzet - Veri Boru Hattı