Если общее количество строк неизвестно[12193]пояснение [12194]awk 'FNR == NR{t=NR+1; next}[12195]FNR variable[11861] --> Номер текущей строки в текущем файле[12196]NR variable[11863]--> Общее количество просмотренных строк[12197]Условие [11864]FNR == NR[11865] может быть истинно только в том случае, если awk считывает первый файл аргумента[12198]t=NR+1[11867] -- > переменная [11868]t[11869] содержит дополнительный счетчик строк [11870]+1[11871], так как она необходима в нашем текущем контексте[12199]next[11873]--> Останавливает обработку текущей входной записи и переходит к следующей входной записи[12200]mult+=$2*(t-FNR)[11875] --> переменная [11876]mult[11877] содержит некоторый из [11878](5*(t-FNR) + . .... + 4*1 + 3*2 + 2*4 + 1*3)[12201]sum+=$2[11881] --> переменная [11882]sum[11883] содержит сумму столбца 2[12202]END[11885]--> После прочтения всего входного текста[12203]print mult/sum[11889] --> наконец-то будет выполнено правило END[11887] file{, }[11891] --> Вы также можете создать [11892]-файл[11893], но я использовал ярлык, который вы можете сказать, попробуйте [11894]-эхо-файл{,}[11895] и [11896]-эхо-файл{,,}[11897] на вашем терминале. [12205]Good Luck[12206]Akshay.
27.01.2020, 21:54
Ссылка