Bash'te awk Komutu Nasıl Kullanılır?

Bash Te Awk Komutu Nasil Kullanilir



Komut satırı ortamında çalışırken, dosyaları, dizinleri ve diğer verileri etkili bir şekilde yönetmek için kullanılabilen çeşitli komutları güçlü bir şekilde anlamak çok önemlidir. Böyle bir komut 'awk' komutudur. awk, Unix/Linux ortamındaki metin dosyalarını işlemek ve değiştirmek için kullanılan güçlü bir yardımcı programdır. Bu makale 'awk' komutunun ne olduğunu ve onu etkili bir şekilde kullanmanın yollarını açıklayacaktır.

'awk' Komutu nedir?

'awk' komutu, Unix/Linux ortamlarında metin dosyalarını değiştirmek ve işlemek için güçlü bir araçtır. Model eşleştirme, filtreleme, sıralama ve verileri işleme gibi görevleri gerçekleştirmek için kullanılabilir. awk, temel olarak verileri yapılandırılmış bir şekilde işlemek ve değiştirmek için kullanılır.







awk Komutu Nasıl Kullanılır

awk, çeşitli şekillerde kullanılabilen bir komut satırı aracıdır. Doğrudan komut satırından çağrılabilir veya bir kabuk komut dosyasıyla birlikte kullanılabilir. İşte awk'nin nasıl kullanılacağına dair bazı örnekler:



Örnek 1: Bir Dosyadaki Satır Sayısını Sayma

Bir dosyadaki satır sayısını saymak için aşağıdaki awk sözdizimini kullanabilirsiniz:



awk 'END{NR yazdır}' < dosya adı.txt >


Burada “NR”, awk tarafından işlenen kayıt (satır) sayısını içeren yerleşik bir değişkendir. “END” anahtar sözcüğü, awk'ye dosyadaki tüm satırlar işlendikten sonra bu komutu yürütmesini söyler. Burada örnekleme amacıyla bir dosya metin dosyası oluşturdum ve ardından yukarıdaki sözdizimini bir kabuk betiğinde kullandım:





#!/bin/bash
awk 'END{NR yazdır}' testfile.txt


Oluşturduğum text dosyasının iki satırı var ve awk komutu kullanıldığında 2 çıktısı veriyor, oluşturduğum text dosyasını aşağıdaki görselde görebilirsiniz:



Örnek 2: Verileri Filtreleme

awk, verileri belirli kriterlere göre filtrelemek için kullanılabilir ve işte bu amaçla kullanılması gereken sözdizimi:

awk '!//' < dosya adı.txt >


Örneğin, bir dosyada “Merhaba” kelimesini içeren tüm satırları filtrelemek için aşağıdaki komutu kullanabilirsiniz.

#!bin/bash
awk '!/Merhaba/' testfile.txt


Bu örnekte “!” simgesi normal ifade aramasını geçersiz kılar, bu nedenle 'Merhaba' sözcüğünü içermeyen tüm satırlar yazdırılır. Önceki örnekte olduğu gibi aynı metin dosyasını kullandım, bu yüzden yukarıda verilen betiğin çıktısı:

Örnek 3: Belirli Alanları Çıkarma

awk ayrıca bir dosyadan belirli alanları çıkarmak için de kullanılabilir. Örneğin, bir ad ve adres listesi içeren bir dosyanız varsa ve yalnızca adları ayıklamak istiyorsanız, aşağıdaki komutu kullanabilirsiniz:

awk '{$ yazdır}' < dosya adı.txt >


Örnek olarak, aynı metin dosyasının ilk alanını yazdırdım ve '$1', dosyanın her satırındaki ilk alanı temsil ediyor. 'Yazdır' komutu, awk'ye yalnızca o alanı yazdırmasını söyler.

#!/bin/bash
awk '{1 $ yazdır}' testfile.txt


Metin dosyasında ilk satırın ilk girişi “This” ve ikinci satırın ilk girişi “Merhaba” yani verilen kodun çıktısı:

Çözüm

awk komutu, metin dosyalarını işlemek ve işlemek için kullanılan güçlü bir araçtır. Metin dosyalarında belirli sütunları yazdırma, kalıpları arama ve toplamları hesaplama gibi çeşitli işlemleri gerçekleştirmenize olanak tanır. awk'nin temellerinde uzmanlaşarak iş akışınızı kolaylaştırabilir ve daha verimli ve etkili bir Linux veya Unix kullanıcısı olabilirsiniz.