com awk :
echo 5 | awk '{$0=int($0/4+1)*4}1'
Explicação:
-
$0/4+1o valor é dividido por4e o resultado é incrementado em1. -
int(n)é então arredondado pelos awksint(). -
n*4agora só temos que multiplicar isso com4para obter o próximo número mais alto divisível por4. -
{...}1the1no 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'