ok, agora o questino mudou quase completamente ^^ Agora você precisa calcular, dados números, quantos% representam em relação ao número 600.
Aqui está uma versão revisada.
Deixei minha velha resposta abaixo por motivo histórico ^^
nova resposta:
awk ' { printf "%s %.2f%\n",$1,($1/600)*100; }' numbers.txt
ie, supondo que o arquivo "numbers.txt" contenha apenas 1 coluna com um número entre 0 e 600, basta imprimir o número, e na coluna seguinte o% que ele representa em relação a 600. Eu poderia simplificar o segundo cálculo como ($ 1/6) "%", mas, na minha opinião, retiraria as informações importantes do script.
nos novos dados de exemplo que ele gera:
459 76.50%
455 75.83%
463 77.17%
resposta antiga:
Se você realmente precisa calcular a porcentagem , então seria algo como:
awk '
{ # each line is read and stored, and the sum is computed also.
original[NR]=$0 ; #store the current line (line NR) in the "original[]" tab
sum+=$1 ; #and compute the sum of the 1st column
}
END { #at the END, ie after we processed the whole file
for(line=1;line<=NR;line++)
{ printf "%s %.2f%\n",original[line],original[line]/sum*100 ;
}
} ' numbers.txt
algo assim deve calcular o% e colocá-lo ao lado do número (com 2 dígitos fracionários)
no seu exemplo, ele gera:
12 5.36%
23 10.27%
35 15.62%
67 29.91%
87 38.84%