AWK, Unix ve Linux tabanlı işletim sistemleri için özel olarak tasarlanmış bir script dildir. Adını, Andrew W. Kernighan, Peter J. Weinberger ve Brian W. Kernighan adlı programcılardan alan AWK, satır/sütun işlemleri, regular expressions, dizi işlemleri, dosya işlemleri ve string işlemleri gibi birçok fonksiyonu bünyesinde barındırır.
AWK, oldukça esnek ve güçlü bir programlama dili olarak kabul edilir. Özellikle dosya işlemleri ve filtreleme işlemleri için sıklıkla kullanılır. AWK programlama dilinde verileri kolayca işleyebilir, değiştirebilir ve ekrana yazdırabilirsiniz.
AWK, birçok farklı platformda çalıştırılabilir olması nedeniyle, geniş bir kullanıcı kitlesi tarafından tercih edilir. AWK ile sadece Unix ve Linux tabanlı işletim sistemlerinde değil, Windows ve Mac OS X işletim sistemlerinde de çalıştırılabilir programlar yazabilirsiniz.
AWK Komutları Nelerdir?
AWK programlama dilinin temel özelliklerinden biri de kullanımı kolay komutlarıdır. Bu komutlar, verileri işlemek, güncellemek ve analiz etmek için kullanılabilir. İşte AWK programlama dilinde sık kullanılan temel komutlar:
- print – Bu komut verileri ekrana yazdırmak için kullanılır. Örneğin, “print $ 1” komutu, bir dosyanın ilk sütununu ekrana yazdırır.
- printf – Bu komut, formatlı çıktılar oluşturmak için kullanılır. Örneğin, “printf ‘% d% s’, 5,” filenumber “” komutu, “5 filenumber” ifadesini yazdırır.
- getline – Bu komut, bir dosyadan veri okumak için kullanılır. Örneğin, “getline < dosya” komutu, dosyadan bir satır okur.
- if else statement – Bu komut, bir koşula göre belirli bir eylem gerçekleştirmek için kullanılır.
AWK programlama dilindeki bu komutların kullanımı örneklerle daha iyi anlaşılabilir. Örneğin, bir dosyada sütunların toplamını bulmak için “awk ‘{sum + = $ 1} END {print sum}’ dosya” komutunu kullanabilirsiniz. Ayrıca, verileri filtrelemek için “awk ‘/ aranan / {print $ 0}’ dosya” gibi komutlar da kullanılabilir.
Bunlar sadece birkaç örnek. AWK programlama dilinde birçok farklı komut kullanılabilir. Bu komutlar, verileri işlemek, analiz etmek ve filtrelemek için kullanılır. AWK programlama dilindeki farklı komutların kullanımı, programlamacıların veri işlemek için daha az kod yazmasını sağlar ve bu da daha az zaman ve emek harcamalarını gerektirir.
Veri Okuma ve Çıktı Alma Komutları
AWK programlama dilinde veri okuma ve çıktı alma komutları oldukça önemlidir. Bu komutlar, AWK ile veri düzenleme işlemlerinin temelini oluşturur.
Veri okuma işlemi için genellikle ‘getline’ komutu kullanılır. Bu komut, bir dosyadan veya standart girdiden (klavye girişi) bir satır okur ve değişkenlere atar. Örneğin:
getline veri < "ornek.txt" print veri
Bu örnekte, “ornek.txt” dosyasında ilk satır okunur ve ‘veri’ adlı değişkene atanır. Sonrasında, ‘print’ komutu ile ekrana yazdırılır.
Çıktı alma için de ‘printf’ ve ‘print’ komutları kullanılabilir. ‘print’ komutu, ekrana bir değer ya da değişkenin tamamını yazdırırken ‘printf’ komutu, belirli bir formatta yazdırma işlemi yapar. Örneğin:
printf "Merhaba %s, nasılsın?\n" isim print "AWK öğrenmeye devam ediyoruz!"
Bu örnekte, ‘printf’ komutu, ‘isim’ adlı değişkene atanan değeri ‘Merhaba’ şeklinde yazdırır. ‘print’ komutu ise, string bir değer yazdırır.
printf ve print Komutları
AWK programlama dilindeki printf ve print komutları, programcıların veri çıktılarını formatlamalarına yardımcı olur. Printf komutu, önceden tanımlanmış sabitleri veya değişkenleri bir kalıp içinde biçimlendirmek için kullanılır. Bu şekilde çıktı verilerinin belirli bir düzende görüntülenmesi sağlanır. Bir örnek kullanımı aşağıda verilmiştir:
printf "Merhaba, benim adım %s ve %d yaşındayım.\n", "Ali", 35
Bu kodda, %s bir karakter dizisi ve %d bir tamsayı için rezerve edilmiştir. Sonuç olarak, çıktı şu şekilde olur: “Merhaba, benim adım Ali ve 35 yaşındayım.”
Print komutu bir kalıp kullanmadan, veriyi doğrudan çıktıya yazmak için kullanılır. Bu nedenle, daha basit ve daha hızlıdır. Örnek olarak, mevcut bir dosyadaki satırları okumak ve doğrudan ekrana yazdırmak için kullanılabilir. Şu şekilde örnek bir kullanımı görebiliriz:
awk '{print}' dosya.txt
Bu örnek kodda, dosya.txt dosyasındaki her satır doğrudan ekranda görüntülenir. Ancak daha spesifik bir çıktı almak istersek, printf komutu kullanılabilir.
Bu komutlar, AWK programlama dilinde veri işleme ve düzenlemede oldukça faydalıdır. Programcılar, bu komutları kullanarak çıktılarını istedikleri gibi biçimlendirebilirler.
getline Komutu
AWK programlama dilinde, dosya okuma ve manipülasyonu işlemleri, getline komutu ile gerçekleştirilir. Bu komut ile bir dosyanın her satırı, bir değişkene atanabilir. getline komutu, herhangi bir argüman belirtilmediğinde, varsayılan olarak programın girdi akışına yönlendirilir. Bu şekilde, stdin olarak tanımlanan sistem girdisi, getline komutu ile okunabilir.
getline komutu, birinci argüman olarak verilen değişkene, ikinci argüman olarak verilen dosyanın bir satırını okur. İkinci argüman belirtilmediğinde, stdin olarak belirlenir. getline komutu, okunan satırın uzunluğunu, NF (Number of Fields) değişkeninde tanımlar. Bu değişken, awk programlama dilinin dosya manipülasyon işlemlerinde sıklıkla kullanılan değişkenler arasında yer alır.
getline komutu ile ilgili bir örnek olarak, okunacak bir dosya ve çıktı dosyası belirlenerek, dosyanın her satırı okunup çıktı dosyasına yazılabilir. Bu işlem, awk programlama dilinde aşağıdaki şekilde gerçekleştirilebilir:
awk '{ getline < "okunacak_dosya.txt"; print $0 > "cikti_dosyasi.txt"; }'
Burada, getline komutu, okunacak dosyanın her satırı için kullanılır. Her satırda, bir sonraki satır okunur ve çıktı dosyasına yazılır. Bu şekilde, dosya manipülasyon işlemleri yapabilmek için getline komutu oldukça önemlidir.
Satır ve Sütun İşlemleri
AWK programlama dilinde, satır ve sütun işlemleri oldukça önemlidir. Satır işlemleri için awk’da varsayılan ayraçlar yer alır. Sütun ayraçları için ise kullanıcı özelleştirebilirler. Aşağıda, satır ve sütun işlemlerine örnekler verilmiştir:
Komut | Açıklama |
---|---|
$1 | İlk sütunu alır. |
$NF | Son sütunu alır. |
$0 | Bütün satırı alır. |
$2,$3,$4 | 2. sütundan başlayarak, 3. ve 4. sütunları alır. |
Satır ve sütun işlemlerinde, NR ve NF komutları da sıklıkla kullanılır. NR komutu, çalışılan satırın sayısını belirtirken; NF komutu, çalışılan sütun sayısını belirtmektedir.
- NF Komutu:
awk -F "," '{print "Sütun Sayısı: "NF}' veri.csv
- NR Komutu:
awk '{print "Satır Numarası: "NR}' veri.csv
Bunun yanı sıra, cut ve paste komutları da awk programlama dilinde sık kullanılmaktadır. Cut komutu, belli bir kısmı kırparken; paste komutu, belli bir düzende kırpılmış dosyaları birleştirmek için kullanılır.
NR ve NF Komutları
AWK programlama dilinde, NR ve NF komutları oldukça yaygın olarak kullanılır. NR komutu, işlenen veri dosyasındaki son işlenen satırın numarasını döndürür. Örneğin:
Komut | Açıklama | Örnek |
---|---|---|
NR | Son işlenen satırın numarasını döndürür | awk '{print NR, $0}' dosya.txt |
NF | Satırdaki sütun sayısını döndürür | awk '{print NF}' dosya.txt |
Yukarıdaki örneklerde, dosya.txt dosyasının içeriği, satırlarına ayrılarak işlenir ve işlenen her satırın sonuna, satır numarası (NR) ve tam satır içeriği ($0) eklendi. Ayrıca, ikinci örnekte, her satırdaki sütun sayısı (NF) sadece yazdırıldı.
cut ve paste Komutları
AWK programlama dilinde cut ve paste komutları, verilerin belirli bir sütununu alma veya farklı sütunları bir araya getirerek yeni bir dosya oluşturma işlemi yapmak için kullanılır.
Cut komutu, belirli bölgeleri mevcut verilerden kaldırmak, sadece belirli bir sütunu alma işlemini gerçekleştirmek veya farklı bir dosyaya sütunları kopyalamak gibi işlemler yapar. Örnek kullanım şekilleri aşağıdaki gibidir:
İşlem | Kullanımı |
---|---|
Belirli bir sütunu alma | cat dosya | cut -d”,” -f2 |
Belirli bir sütunu kaldırma | cat dosya | cut -d”,” –complement -s -f2 |
Farklı bir dosyaya sütunları kopyalama | cut -d”,” -f1 dosya1 > dosya_yeni |
Paste komutu ise, farklı dosyalardaki sütunları birleştirmek için kullanılır. Örnek kullanım şekilleri:
İşlem | Kullanımı |
---|---|
Sütunları yan yana getirme | paste dosya1 dosya2 |
Sütunları üst üste getirme | paste -d “\n” dosya1 dosya2 |
AWK programlama dilinde cut ve paste komutları, veri işleme işlemlerinde sıklıkla kullanılmaktadır.
Karakter Dizileri ve İşlemleri
AWK programlama dili, karakter dizilerini işleme konusunda oldukça gelişmiş bir programlama dilidir. Bu dille karakter dizileri üzerinde birçok işlem gerçekleştirebilirsiniz. Örneğin, metin içinde yer alan verileri ayırabilir, belirli bir karakter dizisini değiştirebilir ve daha birçok işlem yapabilirsiniz.
Karakter dizileri, AWK programlama dilinde genellikle tırnak içinde belirtilir. AWK programlama dilinde karakter dizileri üzerinde işlem yapmak istediğinizde kullanabileceğiniz birkaç farklı komut vardır. Örneğin, substr komutu, bir karakter dizisinin belirli bir bölümünü seçmenize imkan tanırken, length komutu ise bir karakter dizisinin uzunluğunu öğrenmenizi sağlar.
Bunun yanı sıra, karakter dizileri ile ilgili diğer bir konu da karşılaştırma işlemleridir. AWK programlama dilinde karşılaştırma işlemleri genellikle if komutu kullanılarak yapılır. Bu komut sayesinde, belirli bir koşulu sağlayan karakter dizileriyle ilgili işlemler gerçekleştirebilirsiniz.
Bir Cevap Yaz