AWK - Vikipedi
Geliştirici(ler) | Bell Labs |
---|---|
İşletim sistemi | Unix ve Unix benzeri |
Platform | Çoklu platform |
Tür | komut |
Kod deposu |
AWK, Alfred Aho, Peter Weinberger ve Brian Kernighan tarafından 1977 yılında geliştirilmiş ve ilk olarak Unix Version 7 ile yayınlanmış bir programlama dilidir. C gibi derlenen dillerden farklı olarak yorumlanan bir betik dilidir ve günümüzde özellikle sed ve Kabuk programlamada kullanılmaktadır.
1985-1988 arasında GNU versiyonu olan GNU AWK / GAWK Paul Rubin, Jay Fenlason ve Richard Stallman tarafından yazılmış 1988'de genel kullanıma sunulmuştur. GNU tabanlı Linux sürümlerine dahil edildiği için GAWK en yaygın kullanılan AWK versiyonudur.
AWK ile CSV gibi metin-tabanlı dosyalardaki veriler düzenlenebilir ve dönüştürülebilir ve veriler değerlendirilip isteğe göre raporlanabilir. sed gibi akış editörlerinde kullanılan veri bulma/düzenleme/dönüştürme komutlarına ek olarak C deki gibi genel programlama yapıları içermektedir, bu sebepten dolayı tam donanımlı bir programlama dili olarak geçmektedir.
Larry Wall 1980'lerin ortalarında Usenet haberlerinden raporlar çıkartmak için awk'ı kullanıyordu ve awk'ı yoğun görevlerde yetersiz gördüğü için Perl 'i geliştirme başlamıştır.[1]
Teknik Notlar
[değiştir | kaynağı değiştir]AWK'ın komut satırında kullanılışı aşağıdaki gibidir:
awk [ parametreler ] -f program_dosyası [ -- ] dosya ... awk [ parametreler ] [ -- ] program_kodu dosya ...
GAWK, AWK'a oranla genellikle daha üstün ve anlaşılır hata mesajları sunar. Hatanın nerede olduğunun ve neden kaynaklandığının daha iyi belirtildiği GAWK'da sorun daha anlaşılır biçimde sunulur:
AWK hatası:
awk '{print $0,}' dosyaadı awk: syntax error near line 1 awk: illegal statement near line 1
GAWK hatası:
gawk '{print $0,}' dosyaadı gawk: cmd. line:1: {print $0,} gawk: cmd. line:1: ^ parse error
Kaynakça
[değiştir | kaynağı değiştir]- ^ Learning Perl (5 bas.). 2008. ISBN 9780596520106.
Programlama dili ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |