Basta alterar a forma como você calcula RESULTADO:
RESULT=$(awk '{x+=$4} END{print x/NR, FILENAME}' ${model}_${gcm}_${scenario}_${river}[1-9]/${model}_${gcm}_${scenario}_${river}[1-9].txt | sort -n -r| head -1)
O que isso faz: resume todos os valores da quarta linha e imprime no final o resultado dividido pelo número de linhas.
Como ele é dividido pelo número de linhas, você obterá resultados inesperados se tiver linhas vazias em seus arquivos: a soma não levará esses valores em consideração, mas a divisão será pelo número de linhas.
Editar:
Eu tive um erro em minha primeira tentativa que fez com que o script levasse em consideração apenas o máximo do último arquivo (porque END é executado depois que os arquivos ALL são processados)
Versão correta:
awk 'FNR==1 && NR>1 {print x/nr, file;x=0}{x+=$4; nr=FNR; file=FILENAME} END{print x/nr, file, x, nr}' ${model}_${gcm}_${scenario}_${river}[1-9]/${model}_${gcm}_${scenario}_${river}[1-9].txt | sort -n -r| head -1
Explicação:
- imprimimos cada vez que o arquivo anterior é analisado. Como o FNR é zerado toda vez que um novo arquivo é lido, verificamos se começamos um novo arquivo (FNR == 1) e não estamos no primeiro arquivo (NR > 1). Nesse caso, imprimimos a média e o nome do arquivo salvos do arquivo anterior. Nós também resetamos x (onde mantemos a média)
- caso contrário, começamos a calcular x. Também salvamos o número de registros neste arquivo (FNR) e o nome do arquivo
- no final, imprimimos a média do último arquivo