AWK - Normal İfadeler
AWK, normal ifadeleri işlemede çok güçlü ve etkilidir. Basit normal ifadelerle bir dizi karmaşık görev çözülebilir. Herhangi bir komut satırı uzmanı, normal ifadelerin gücünü bilir.
Bu bölüm, uygun örneklerle standart normal ifadeleri kapsar.
Nokta
Satır sonu karakteri dışında herhangi bir tek karakterle eşleşir. Örneğin, aşağıdaki örnek eşleşirfin, fun, fan vb.
Misal
[jerry]$ echo -e "cat\nbat\nfun\nfin\nfan" | awk '/f.n/' 
    Yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu alırsınız -
Çıktı
fun
fin
fan 
    Satırın başlangıcı
Satırın başlangıcıyla eşleşiyor. Örneğin, aşağıdaki örnek desen ile başlayan tüm satırları yazdırır.The.
Misal
[jerry]$ echo -e "This\nThat\nThere\nTheir\nthese" | awk '/^The/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
There
Their 
    Yolun sonu
Satırın sonuyla eşleşiyor. Örneğin, aşağıdaki örnek harfle biten satırları yazdırırn.
Misal
[jerry]$ echo -e "knife\nknow\nfun\nfin\nfan\nnine" | awk '/n$/' 
    Çıktı
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
fun
fin
fan 
    Karakter kümesini eşleştir
Birkaç karakterden yalnızca birini eşleştirmek için kullanılır. Örneğin, aşağıdaki örnek desenle eşleşirCall ve Tall Ama değil Ball.
Misal
[jerry]$ echo -e "Call\nTall\nBall" | awk '/[CT]all/' 
    Çıktı
Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Call
Tall 
    Özel set
Özel kümede, kırat köşeli parantez içindeki karakter kümesini geçersiz kılar. Örneğin, aşağıdaki örnek yalnızcaBall.
Misal
[jerry]$ echo -e "Call\nTall\nBall" | awk '/[^CT]all/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
Ball 
    Değişiklik
Dikey çubuk, normal ifadelerin mantıksal olarak OR'lanmasına izin verir. Örneğin aşağıdaki örnek,Ball ve Call.
Misal
[jerry]$ echo -e "Call\nTall\nBall\nSmall\nShall" | awk '/Call|Ball/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
Call
Ball 
    Sıfır veya Bir Oluşum
Önceki karakterin sıfır veya bir oluşumuyla eşleşir. Örneğin, aşağıdaki örnek eşleşirColour Hem de Color. Biz yaptıku isteğe bağlı bir karakter olarak kullanarak ?.
Misal
[jerry]$ echo -e "Colour\nColor" | awk '/Colou?r/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
Colour
Color 
    Sıfır veya Daha Fazla Oluşum
Önceki karakterin sıfır veya daha fazla oluşumuyla eşleşir. Örneğin, aşağıdaki örnek eşleşirca, cat, catt, ve bunun gibi.
Misal
[jerry]$ echo -e "ca\ncat\ncatt" | awk '/cat*/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
ca
cat
catt 
    Bir veya Daha Fazla Oluşum
Önceki karakterin bir veya daha fazla oluşumuyla eşleşir. Örneğin aşağıdaki örnek, bir veya daha fazla oluşumla eşleşir2.
Misal
[jerry]$ echo -e "111\n22\n123\n234\n456\n222"  | awk '/2+/' 
    Yukarıdaki kodu çalıştırdığınızda aşağıdaki sonucu alırsınız -
Çıktı
22
123
234
222 
    Gruplama
Parentheses ()gruplama ve karakter için kullanılır | alternatifler için kullanılır. Örneğin, aşağıdaki normal ifade, aşağıdakilerden birini içeren satırlarla eşleşir:Apple Juice or Apple Cake.
Misal
[jerry]$ echo -e "Apple Juice\nApple Pie\nApple Tart\nApple Cake" | awk 
   '/Apple (Juice|Cake)/' 
    Bu kodu çalıştırdığınızda şu sonucu alırsınız -
Çıktı
Apple Juice
Apple Cake