Menu
CoddyTech

Grep ile Boru

Coddy'nin Terminal Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 46 / 82.

grep komutu, borularla birlikte kullanıldığında özellikle güçlü hâle gelir. Bir dosyanın içinde arama yapmak yerine, tam olarak ihtiyacınız olanı bulmak için herhangi bir komutun çıktısını filtreleyebilirsiniz.

Bir dizin listesindeki belirli bir dosyayı bulmak istediğini düşün:

ls -l | grep "report"

Bu, tüm dosyaları ayrıntılı biçimde listeler, ardından yalnızca "report" içeren satırları gösterecek şekilde filtreler. Her şeyi elle taramadan hedefe yönelik sonuçlar elde edersin.

grep'e veri aktarma, metin çıktısı üreten herhangi bir komutla çalışır. Belirli bir programla ilgili çalışan süreçleri bulmak için:

ps aux | grep "python"

grep komutunu, öğrendiğin diğer komutlarla da zincirleyebilirsin. Belirli bir kelimeyi içeren satırların sayısını bulmak için:

cat logfile.txt | grep "error" | wc -l

Bu, dosyayı okur, içinde "error" geçen satırları filtreler ve ardından bunları sayar. Daha önce öğrendiğin grep bayrakları pipe'larda da aynı şekilde çalışır: büyük-küçük harf duyarsız eşleştirme için -i, eşleşmeleri hariç tutmak için -v kullan.

challenge icon

Görev

Kolay

access.log dosyası, web sunucusunun erişim kayıtlarını içerir. 500 hata durum koduyla sonuçlanan isteklerin sayısını filtrelemek ve saymak için bir boru hattı kullan.

Şunları yapan tek bir komut çalıştır:

  • access.log dosyasını okumak için cat kullan
  • 500 içeren satırları filtrelemek için çıktıyı grep komutuna aktar
  • Eşleşen satırları saymak için çıktıyı wc -l komutuna aktar

İpucu: Üç komutu | simgesini kullanarak zincirle. grep komutu çıktıyı filtreler, wc -l ise kalan satırları sayar.

Kendin dene

Terminal
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Terminal playground