19 Şubat 2016 Cuma

awk komutuna sistem değişkeni gönderme (shell script)

Herkese merhaba,
bu yazımda çok kısa fakat çok önemli bir işlemden bahsedeceğim.  Kısa bir süre önce bir projede geliştirme yaparken araya shell script komutları yazmam icap etti. Shell script zaten kendisi ayrı bir dünya iken birde awk komutuna parametre göndererek bir birleştirme(concatenate) yapmam gerekiyordu.  Ancak awk komutu bildiğimiz gibi  üstte değişkeni tanımla, aşağıda bu değişkeni kullan şekline  dışarıdan parametre almamaktadır.  Açıkça söylemek gerekirse bu durum beni oldukça uğraştırdı.  Daha sonra bu komut parametre yollamak için önce awk üzerinden göndereceğiniz parametreyi tanımlamam gerektiğini fark ettim.

Yani özetle anlatmak gerekirse önce elinizdeki değişkeni -v komutuyla awk ya tanıtıyorsunuz. daha sonra awk içinde tanımladığını bu yeni değişkeni kullanıyorsunuz.

örnek kullanım :

degisken="Bunu AWK da yazdıracağım"
echo | awk -v r=$degisken '{print "shell root değeri - " r}'

Daha iyi anlaşılması için  kısaca tekrar ediyorum önce degisken adında bir string tanımladık. Daha sonra bu stringe -v ile r değişkenine set ettik. Ve son olarak ta awk içerisinde r'yi ekrana yazdırdık

 kaynak

Hiç yorum yok:

Yorum Gönder