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 -lBu, 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.
Görev
Kolayaccess.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.logdosyasını okumak içincatkullanır500içeren satırları filtrelemek içingrep'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 vewc -lkalan satırları sayar.
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ıKendi başına pratik yap: Terminal playground