O que esse script awk faz

2
echo 1 | awk '{ srand(); print int (rand()*67) }'

Eu recebo um o / p diferente toda vez que eu o executo. No entanto, se eu omitir o 1 eu fico com o mesmo / p .. por que?

    
por abc 04.10.2011 / 04:55

1 resposta

6

Imprime um número aleatório entre 1 e 67. Também pode ter sido escrito sem o echo :

awk 'BEGIN{srand(); print int(rand()*67+1)}'

Consulte o Guia do Gnu Awk Users :

srand([x])
Set the starting point, or seed, for generating random numbers to the value x.
    
por 04.10.2011 / 05:15

Tags