Я хочу написать общий скрипт awk, который может принимать в качестве входного файла и номер поля (в этом файле), и дать мне среднее значение этого поля в этот файл. Я хотел бы использовать это что-то вроде этого:Общий awk-скрипт для вычисления среднего значения в любом поле с помощью аргумента командной строки
bash$ avg.awk 3 input.file
22
bash$ avg.awk 4 input.file
2001
Конечно, я могу написать сценарий, если я знаю, какое поле (например, 3 $) Я собираюсь заранее усреднить. Это было бы что-то вроде этого:
//{tot+=$3; count++}
END{
print tot/count;
}
Но я хочу, чтобы иметь возможность изменить поле я хочу в среднем через опции командной строки. Это возможно? Благодаря!
Я не мог использовать env так, как вы описали. Пока, я только что положил реальный путь к awk. Это работает. Благодаря! – Ritesh
Использование/usr/bin/env - это мой способ справиться с тем, что разные системы устанавливают awk в разных местах. Возможно, вы захотите выпустить «из env» из командной строки, чтобы узнать, где env находится в вашей системе. –
/usr/bin/env: awk -f: Нет такого файла или каталога Это сообщение, которое я получаю. env находится в/usr/bin/env. Хотя вы решили мою первоначальную проблему, хотелось бы узнать, как можно использовать env. – Ritesh