Je veux écrire un script awk générique qui peut prendre en entrée un fichier et un numéro de champ (dans ce fichier) et me donner la valeur moyenne de ce champ ce fichier. Je l'utiliser quelque chose comme ceci:Script awk générique pour calculer la moyenne sur n'importe quel champ par l'argument de la ligne de commande
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Bien sûr, je peux écrire le script si je sais quel champ (par exemple, 3 $) Je vais en moyenne au préalable. Ce serait quelque chose comme ceci:
//{tot+=$3; count++}
END{
print tot/count;
}
Mais je veux être en mesure de changer le terrain, je veux en moyenne par une option de ligne de commande. Est-ce possible? Merci!
Je ne pouvais pas utiliser env comme vous l'avez décrit. Pour l'instant, je viens de mettre le vrai chemin à awk. Cela fonctionne bien. Merci! – Ritesh
L'utilisation de/usr/bin/env est ma façon de faire face au fait que différents systèmes installent awk à différents endroits. Vous voudrez peut-être émettre un 'quel env' depuis l'invite de commande pour savoir où se trouve env dans votre système. –
/usr/bin/env: awk -f: Aucun fichier ou répertoire de ce type Voici le message que je reçois. env est dans/usr/bin/env. Bien que vous ayez résolu mon problème initial, j'aimerais apprendre comment env peut être utilisé. – Ritesh