N=1000009
echo "${N:-3} 3+4/4*p" | dc
Saída
1000012
Eu tinha uma solução no AIX 7.1 onde eu poderia fazer um eco de um número ímpar e imprimir o próximo número par, por exemplo, abaixo:
$ echo "3" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
4
$ echo "9" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
12
O problema que estou enfrentando é quando o número chega a mais de um milhão e ele começa a fornecer valores como abaixo:
$ echo "1000009" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
1.00001e+06
O que eu devo conseguir é 1000012. O próximo número par que isso me dá é irrelevante. Contanto que seja um número par. Não tenho certeza se isso é uma limitação do HP-UX B.11.31, que estou testando.
Existe uma maneira de evitar resultados como esse?