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