Voglio scrivere uno script awk generico che possa prendere come input un file e un numero di campo (in quel file) e darmi il valore medio di quel campo in quel file. Vorrei usare qualcosa di simile:Script awk generico per calcolare la media su qualsiasi campo tramite l'argomento della riga di comando
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Naturalmente, posso scrivere la sceneggiatura se so quale campo (ad esempio, $ 3) Ho intenzione di media in anticipo. Sarebbe qualcosa di simile:
//{tot+=$3; count++}
END{
print tot/count;
}
Ma io voglio essere in grado di modificare il campo voglio media attraverso una linea di comando. È possibile? Grazie!
Non potrei usare env come nel modo in cui hai descritto. Per ora, ho appena messo la strada giusta per awk. Funziona comunque. Grazie! – Ritesh
Usare/usr/bin/env è il mio modo di far fronte al fatto che diversi sistemi installano awk in posti diversi. Potresti voler inviare un 'env' dal prompt dei comandi per scoprire dove env si trova nel tuo sistema. –
/usr/bin/env: awk -f: Nessun file o directory Questo è il messaggio che sto ottenendo. env è in/usr/bin/env. Sebbene tu abbia risolto il mio problema iniziale, mi piacerebbe sapere come utilizzare env. – Ritesh