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.