Bir dosya ve alan numarası (bu dosyada) girdisi olarak alabilen ve bana bu alanın ortalama değerini verebilecek genel bir awk komut dosyası yazmak istiyorum bu dosya. Ben (ör $ 3) önceden ortalamasını gidiyorum hangi alan biliyorsanızKomut satırı argümanı aracılığıyla herhangi bir alanda ortalama hesaplamak için genel awk komut dosyası
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Elbette, senaryoyu yazabilirsiniz: ben o böyle bir şey kullanmak. Yani böyle bir şey olurdu:
//{tot+=$3; count++}
END{
print tot/count;
}
Ama bir komut satırı seçeneği ile ortalama istediğiniz alanı değiştirmek mümkün olmak istiyorum. Mümkün mü? Teşekkürler!
Tanımladığınız şekilde env kullanamam. Şimdilik, sadece awk için gerçek yolu koymuştum. Yine de çalışıyor. Teşekkürler! – Ritesh
/usr/bin/env kullanımı, farklı sistemlerin farklı yerlerde awk kurmasıyla başa çıkma yolumdur. Env'in sisteminizde nerede olduğunu öğrenmek için komut isteminden 'hangi env' yayınlamak isteyebilirsiniz. –
/usr/bin/env: awk -f: Böyle bir dosya veya dizin yok Bu, alıyorum iletisidir. env,/usr/bin/env dizinindedir. İlk problemimi çözdüyseniz de, env'in nasıl kullanılabileceğini öğrenmek isterim. – Ritesh