Linux Dersleri 23. awk yazı işleme komutu

Awk genelde bir dosya veya outputtan veri çıkarmamıza yarayan kullanışlı bir araç/dildir.

Ör : ls -l | awk ‘{print $1,$3}’

Bu örnekte 1 numaralı kolon olan kullanıcı izinleri ve kullanıcı adı listelenecektir.

Ör : ls -l | awk ‘{print $NF}’

ls komutumuzdaki sonuçlarından son kolonu alır.

Ör : awk ‘/error/ {print}’ log.txt

awk konutu aynı zamanda bir dosya içinde arama yapmak için de kullanılabilir. Yukarıdaki örnekte log.txt içinde error kelimesi bulursa bunların bulunduğu satırları ekrana yazdırır.

Ör : awk -F: ‘{print $1}’ /etc/passwd

Eğer dosyamız passwd dosyasındaki gibi belirli bir ayraçla (passwd de kolonlar iki nokta üst üsteyle ayrılmıştır) ayrılmışsa ayracı yukarıdaki örnekte olduğu gibi -F: ile belirtmemiz gerekir.

Ör : echo “Merhaba Dünya” | awk ‘{$2=”Faruk”; print $0}’

awk komutunu çıktıyı değiştirmek için de kullanabiliriz. Yukardaki komut Dünya kelimesi ile Faruk kelimesini değiştirip ekrana Merhaba Faruk yazdıracaktır.

Ör : cat log.txt | awk ‘{$2=”Faruk”; print $0}’

log.txt dosyasınında ikinci kolondaki tüm veriyi Faruk ile değiştirecektir.

Ör : awk ‘length($0) > 15’ log.txt

log.txt dosyasında 15 bytedan büyük tüm satırları verir.

Ör : ls -l | awk ‘{if($NF ==”Belgeler”) print $0;}’

if komutuyla ls -l yaptığımızda çıkan sonuçlarda son sütünda ($NF bu işe yarıyordu hatırlarsanız) Belgeler adlı veriyi arayıp listelemesini sağlayabiliriz.

Ör : ls -l | awk ‘{print NF}’

Dolar işareti olmadan NF kullanırsak girdiğimiz argümandaki sonuçta bize verilen her satırdaki sütun sayısını buluruz.

Bu yazı İşletim sistemleri, Linux kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir yanıt yazın