com awk
:
echo 5 | awk '{$0=int($0/4+1)*4}1'
Explicação:
-
$0/4+1
o valor é dividido por4
e o resultado é incrementado em1
. -
int(n)
é então arredondado pelos awksint()
. -
n*4
agora só temos que multiplicar isso com4
para obter o próximo número mais alto divisível por4
. -
{...}1
the1
no final apenas imprimirá o valor.
Isso imprimirá 16
para o valor 12
.
Se você quiser que o valor permaneça quando ele for divisível por 4
, use este awk
:
awk '{$0=int($0/4+.75)*4}1'