Linux Normal İfadeleri nedir?
Linux Normal İfadeleri , veri aramaya ve karmaşık kalıpları eşleştirmeye yardımcı olan özel karakterlerdir. Normal ifadeler "regexp" veya "regex" olarak kısaltılır. Grep, bash, rename, sed gibi birçok Linux programında kullanılırlar.
Normal ifade türleri
Anlama kolaylığı için, farklı Regex türlerini tek tek öğrenelim.
- Temel Normal ifadeler
- Aralık Normal ifadeler
- Genişletilmiş normal ifadeler
- Özet
Videoya erişilemiyorsa burayı tıklayın
Temel Normal ifadeler
Normal ifadelerde yaygın olarak kullanılan komutlardan bazıları tr, sed, vi ve grep'dir. Aşağıda bazı temel Normal İfadeler listelenmiştir.
Sembol | Açıklamalar |
---|---|
. | herhangi bir karakteri değiştirir |
dizenin başıyla eşleşir | |
$ | dizenin sonuyla eşleşir |
* | önceki karakterin sıfır veya daha fazla katıyla eşleşir |
\ | Özel karakterleri temsil eder |
() | Grup normal ifadeleri |
? | Tam olarak bir karakterle eşleşir |
Bir örnek görelim.
Mevcut bir dosyanın içeriğini görmek için kedi örneğini yürütün
'A' harfini içeren içeriği arayın.
' ^ ' bir dizenin başlangıcıyla eşleşir. Şununla BAŞLAYAN içeriği arayalım
Yalnızca karakterle başlayan satırlar filtrelenir. Başlangıçta 'a' karakterini içermeyen satırlar dikkate alınmaz.
Başka bir örneğe bakalım -
Yalnızca t ile biten satırları $ kullanarak seçin
Aralık Normal ifadeler
Bu ifadeler bize bir dizedeki bir karakterin kaç kez geçtiğini söyler. Onlar
İfade | Açıklama |
---|---|
{n} |
Tam olarak 'n' kez görünen önceki karakterle eşleşir |
{n, m} | 'N' kez görünen ancak m'den fazla olmayan önceki karakterle eşleşir |
{n,} | Önceki karakterle yalnızca 'n' kez veya daha fazla göründüğünde eşleşir |
Misal:
'P' karakterini içeren tüm satırları filtreleyin
'P' karakterinin bir dizede birbiri ardına tam olarak 2 kez göründüğünü kontrol etmek istiyoruz. Bunun için sözdizimi şöyle olacaktır:
cat sample | grep -E p\{2}
Not: Bu normal ifadelerle -E eklemeniz gerekir.
Genişletilmiş normal ifadeler
Bu normal ifadeler, birden fazla ifadenin kombinasyonlarını içerir. Onlardan bazıları:
İfade | Açıklama |
---|---|
\ + |
Önceki karakterin bir veya daha fazla oluşumuyla eşleşir |
\? |
Önceki karakterin sıfır veya bir oluşumuyla eşleşir |
Misal:
Tüm 't' karakterleri aranıyor
'A' karakterinin 't' karakterinden önce geldiği satırları filtrelemek istediğimizi varsayalım.
Komutları şöyle kullanabiliriz
cat sample|grep "a\+t"
Brace genişlemesi
Kaşlı ayraç yorumlamasının sözdizimi, sıra veya virgülle ayrılmış küme ayracı "{}" içindeki öğeler listesidir. Bir dizideki başlangıç ve bitiş öğeleri iki nokta "…" ile ayrılır.
Bazı örnekler:
Yukarıdaki örneklerde, echo komutu küme ayracı genişletmesini kullanarak dizeler oluşturur.
Özet:
- Normal ifadeler, dizelerdeki desenleri kontrol etmek için kullanılan bir dizi karakterdir
- Ayrıca "regexp" ve "regex" olarak da adlandırılırlar
- Komut dosyası yazmak için normal ifadeleri öğrenmek önemlidir
- Bazı temel normal ifadeler şunlardır:
Sembol | Açıklamalar |
---|---|
. | herhangi bir karakteri değiştirir |
dizenin başıyla eşleşir | |
$ | dizenin sonuyla eşleşir |
- Bazı genişletilmiş normal ifadeler şunlardır:
İfade | Açıklama |
---|---|
\ + | Önceki karakterin bir veya daha fazla oluşumuyla eşleşir |
\? | Önceki karakterin sıfır veya bir oluşumuyla eşleşir |
- Bazı aralıklı normal ifadeler şunlardır:
İfade | Açıklama |
---|---|
{n} | Tam olarak 'n' kez görünen önceki karakterle eşleşir |
{n, m} | 'N' kez görünen ancak m'den fazla olmayan önceki karakterle eşleşir |
{n,} | Önceki karakterle yalnızca 'n' kez veya daha fazla göründüğünde eşleşir |
- Küme ayracı genişletmesi dizeleri oluşturmak için kullanılır. Birden çok dizeyi birinden oluşturmaya yardımcı olur.