Quiero escribir un script awk genérico que puede tomar como entrada un archivo y un número de campo (en ese archivo) y darme el valor promedio de ese campo en ese archivo. Lo usaría algo como esto:Script awk genérico para calcular el promedio en cualquier campo mediante el argumento de línea de comando
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Por supuesto, puedo escribir el guión si sé qué campo (por ejemplo, 3 $) Voy a un promedio de antemano. Eso sería algo como esto:
//{tot+=$3; count++}
END{
print tot/count;
}
Pero yo quiero ser capaz de cambiar el campo que quiero hacer un promedio a través de una opción de línea de comandos. ¿Es eso posible? ¡Gracias!
No pude usar env como lo describiste. Por ahora, acabo de poner el verdadero camino a awk. Sin embargo, funciona ¡Gracias! – Ritesh
Usar/usr/bin/env es mi manera de lidiar con el hecho de que diferentes sistemas instalan awk en diferentes lugares. Es posible que desee emitir un 'que env' desde el símbolo del sistema para averiguar dónde está env en su sistema. –
/usr/bin/env: awk -f: No existe ningún archivo o directorio Este es el mensaje que recibo. env está en/usr/bin/env. Aunque hayas resuelto mi problema inicial, me encantaría aprender cómo se puede usar env. – Ritesh