Grep ile Boru
Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası — ders 46 / 82.
grep komutu borularla birleştirildiğinde özellikle güçlü hale gelir. Dosya içinde arama yapmak yerine, herhangi bir komutun çıktısını filtreleyerek tam olarak ihtiyacınız olanı bulabilirsiniz.
Bir dizin listesinde belirli bir dosyayı bulmak istediğinizi hayal edin:
ls -l | grep "report"Bu, tüm dosyaları ayrıntılı olarak listeler, ardından yalnızca "report" içeren satırları göstermek için filtreler. Her şeyi manuel olarak taramadan hedefe yönelik sonuçlar elde edersiniz.
grep'e borulama, metin çıktısı üreten herhangi bir komutla çalışır. Belirli bir programa ilişkin çalışan süreçleri bulmak için:
ps aux | grep "python"Ayrıca grep'i öğrendiğiniz diğer komutlarla zincirleyebilirsiniz. Belirli bir kelime içeren satır sayısını saymak için:
cat logfile.txt | grep "error" | wc -lBu, dosyayı okur, "error" içeren satırları filtreler, ardından onları sayar. Daha önce öğrendiğiniz grep bayrakları borularda aynı şekilde çalışır — büyük/küçük harf duyarsız eşleştirme için -i kullanın veya eşleşmeleri hariç tutmak için -v.
Görev
Kolayaccess.log dosyası web sunucusu erişim kayıtlarını içerir. Bir boru kullanarak filtreleyin ve 500 hata durum koduna yol açan kaç isteğin olduğunu sayın.
Tek bir komut çalıştırın ki:
access.log'u okumak içincatkullansın500içeren satırları filtrelemek içingrep'e boru ile aktarsın- Eşleşen satırları saymak için
wc -l'e boru ile aktarsın
İpucu: Üç komutu
|sembolü kullanarak birbirine bağlayın.grepkomutu çıktıyı filtreler vewc -lkalan satırları sayar.
Kopya kağıdı
grep komutu, borular (|) kullanarak diğer komutların çıktılarını filtreleyebilir.
Dizin listelerini filtrele:
ls -l | grep "report"Çalışan işlemleri filtrele:
ps aux | grep "python"Filtreleme ve sayma için birden fazla komutu birbirine bağlayın:
cat logfile.txt | grep "error" | wc -lTüm grep bayrakları borularda çalışır; örneğin büyük/küçük harf duyarsız eşleştirme için -i ve eşleşmeleri hariç tutmak için -v.
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ı