Menu
Coddy logo textTech

Grep ile Boru

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

grep komutu, pipe'larla birleştirildiğinde ö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ğinizi düşünün:

ls -l | grep "report"

Bu, tüm dosyaları ayrıntılı olarak listeler, ardından yalnızca "report" içeren satırları gösterecek şekilde filtreler. Her şeyi manuel olarak taramak zorunda kalmadan hedefe yönelik sonuçlar elde edersiniz.

grep'e yönlendirme, metin çıktısı üreten herhangi bir komutla çalışır. Belirli bir programla ilgili çalışan işlemleri bulmak için:

ps aux | grep "python"

grep komutunu öğrendiğin diğer komutlarla da zincirleyebilirsin. Belirli bir kelimeyi içeren kaç satır olduğunu saymak için:

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

Bu, dosyayı okur, içinde "error" bulunan satırları filtreler ve ardından bunları sayar. Daha önce öğrendiğiniz grep bayrakları ardışık düzenlerde de aynı şekilde çalışır: büyük/küçük harfe duyarsız eşleştirme için -i veya eşleşmeleri hariç tutmak için -v kullanın.

challenge icon

Görev

Kolay

access.log dosyası web sunucusu erişim kayıtlarını içerir. Bir 500 hata durum koduyla sonuçlanan isteklerin kaç tane olduğunu filtrelemek ve saymak için bir pipe kullanın.

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

  • access.log dosyasını okumak için cat kullanır
  • 500 içeren satırları filtrelemek için grep'e pipe eder
  • Eşleşen satırları saymak için wc -l'e pipe eder

İpucu: Üç komutu | sembolünü kullanarak birbirine bağlayın. grep komutu çıktıyı filtreler ve wc -l 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.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Terminal playground