Aqui está como um comando:
echo $(( (2147483633 - $(grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$') )/5184000 ))
Como a simplificação foi feita
Primeiro, considere este canal:
cat /proc/zem0 |grep -i isrs'
Isso pode ser simplificado para:
grep -i isrs /proc/zem0
Assim, todo o primeiro comando se torna:
grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$'
A última mudança é substituir o primeiro comando pelo segundo usando a substituição de comando: $(...)
. Assim, nós substituímos:
echo $(( (2147483633-"**grep value**")/5184000 ))
com:
echo $(( (2147483633-$(grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$'))/5184000 ))
Mais uma simplificação
Se o seu grep
suportar expressões regulares no estilo perl, como o GNU grep
, então, como sugerido por jimmij nos comentários, uma simplificação adicional é possível:
echo $(( (2147483633-$(grep -Pio 'isrs.*?\K[0-9]+$' /proc/zem0))/5184000 ))