Regex ile İleri Düzey Grep
Dosyalar içinde son derece belirli ve verimli metin aramaları yapmak için 'grep' ile karmaşık regex kalıpları uygulayın.
Regex ile İleri Düzey Grep, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Grep'in Düzenli İfade Süper Güçleri
Düzenli İfadelerle Gelişmiş Grep'e hoş geldiniz! Önceki derste Düzenli İfadelerin (Regex) kendisini öğrendik. Şimdi bu ifadelerin güçlü grep komutundaki tüm potansiyelini ortaya çıkaralım.
grep, dosyalardaki metin kalıplarını aramak için başvuracağınız araçtır. Gelişmiş düzenli ifadelerle birleştirerek, kalıp ne kadar karmaşık olursa olsun aradığınızı tam olarak bulabilirsiniz.
Genişletilmiş Düzenli İfadeleri Etkinleştirme (-E)
Varsayılan olarak grep, Temel Düzenli İfadeleri (BRE) kullanır. +, ?, | ve () gibi daha gelişmiş özellikleri kullanmak için Genişletilmiş Düzenli İfadeleri (ERE) etkinleştirmemiz gerekir.
Bunu -E seçeneğini veya aslında grep -E olan egrep komutunu kullanarak yapabilirsiniz. Üzerinde çalışacağımız örnek bir dosya oluşturalım:
echo "apple
banana
appanana
orange
app" > fruits.txtNiceleyiciler: Bir veya Daha Fazla (+)
+ niceleyicisi, kendisinden önce gelen karakterin veya grubun bir ya da daha fazla tekrarını eşleştirir. Bir kalıbın en az bir kez tekrarlanmasını beklediğinizde son derece kullanışlıdır.
Örneğin, ardından bir veya daha fazla 'a' gelen 'p' içeren satırları bulmak için pa+ kullanırız.
grep -E 'pa+' fruits.txtNiceleyiciler: Sıfır veya Daha Fazla (*)
* niceleyicisi, kendisinden önce gelen karakterin veya grubun sıfır ya da daha fazla tekrarını eşleştirir. Bir karakter bulunabilecek ancak kesin olarak gerekli olmayan durumlarda kullanışlıdır.
Ardından sıfır veya daha fazla 'a' gelen 'b' içeren satırları bulalım:
grep -E 'ba*' fruits.txtNiceleyiciler: Sıfır veya Bir (?)
? niceleyicisi, kendisinden önce gelen karakterin veya grubun sıfır ya da bir tekrarını eşleştirir. Bunu bir karakteri isteğe bağlı hâle getirmek olarak düşünebilirsiniz.
Hem 'color' hem de 'colour' ifadelerini bulmak mı istiyorsunuz? 'u' karakterini isteğe bağlı hâle getirebilirsiniz:
echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txt{} ile Belirli Sayılar (Süslü Parantezler)
Daha fazla denetim için süslü parantezleri {} kullanarak tam sayıları veya aralıkları belirtebilirsiniz:
a{3}: Tam olarak üç 'a'.a{2,}: İki veya daha fazla 'a'.a{1,3}: Bir ile üç arasında 'a'.
Tam olarak iki kez tekrarlanan 'a' içeren satırları bulalım:
grep -E 'a{2}' fruits.txtÇapalar: Başlangıç ve Bitiş (^, $)
Çapalar karakterlerle eşleşmez; konumlarla eşleşir. ^ çapası bir satırın başlangıcıyla, $ ise bir satırın sonuyla eşleşir.
Bu, kalıbınızın satırın tamamıyla eşleşmesini veya tam olarak istediğiniz yerde başlayıp bitmesini sağlamak için çok önemlidir.
^apple: 'apple' ile başlayan satırlar.banana$: 'banana' ile biten satırlar.^apple$: Yalnızca 'apple' içeren satırlar.
grep -E '^app' fruits.txtOR ile Alternatif Oluşturma (|)
| (boru) simgesi, OR işleci olarak görev yapar. Bir kalıpla OR başka bir kalıpla eşleşmenizi sağlar. Aynı anda birden fazla farklı sözcüğü veya ifadeyi aramak için son derece kullanışlıdır.
Örneğin, 'apple' veya 'orange' içeren satırları bulmak için:
grep -E 'apple|orange' fruits.txtKalıpları () ile Gruplama
Normal ifadenin bölümlerini gruplamak için parantezler () kullanılır. Bu sayede niceleyicileri veya alternatifleri yalnızca tek bir karaktere değil, bir grubun tamamına uygulayabilirsiniz.
Örneğin, 'b'den sonra bir veya daha fazla kez görünen 'ana' ifadesini bulmak için:
grep -E 'b(ana)+' fruits.txtHızlı Kontrol: Gelişmiş Grep
data.txt dosyasının şu içeriğe sahip olduğunu varsayın:
cat
cats
catt
catterpillar
dog
Sıfır veya daha fazla 't' karakterinin ardından gelen 'cat' ifadesini içeren satırları doğru şekilde bulacak komut hangisidir?
Özet: Grep'in Düzenli İfade Gücü
Genişletilmiş Düzenli İfadeleri kullanarak gelişmiş grep tekniklerinde ustalaştınız! Şunları ele aldık:
- Genişletilmiş düzenli ifade özellikleri için
-Ekullanma. - Niceleyiciler:
+(bir veya daha fazla),*(sıfır veya daha fazla),?(sıfır veya bir) ve belirli sayılar için{}. - Çapalar:
^(satır başlangıcı) ve$(satır sonu). - 'OR' koşulları için alternatif oluşturma
|. - Kalıpları
()ile gruplama.
Bu araçlar son derece kesin ve esnek metin aramaları yapmanızı sağlar; böylece komut satırında gerçek bir ustaya dönüşürsünüz!
Sıkça Sorulan Sorular
“Regex ile İleri Düzey Grep” dersi ücretsiz mi?
Evet — “Regex ile İleri Düzey Grep” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Regex ile İleri Düzey Grep” dersinde ne öğreneceğim?
Dosyalar içinde son derece belirli ve verimli metin aramaları yapmak için 'grep' ile karmaşık regex kalıpları uygulayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Regex ile İleri Düzey Grep” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Düzenli İfadelere Giriş (Regex)
- Regex ile İleri Düzey Grep
- Regex'i sed/awk ile Birleştirme
- Yakalama Grupları, Geri Başvurular ve Yerine Koyma