Usando o Solaris awk
(que não teria a opção -v
ou permitir variáveis de configuração) e usando sua consulta original para começar, você pode fazer:
Porcentagem de memória usada:
a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print (\/$a)*100}"
Porcentagem de memória livre:
a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print 100-(\/$a)*100}"
Atribua a variável no shell primeiro e, em seguida, execute a consulta vmstat
usando a substituição de variável do shell. Isso requer o uso das aspas duplas no awk
e a certeza de escapar da variável awk
. Você também não precisa usar fgrep
e awk
juntos, awk
pode fazer as duas coisas.
Testei no meu Opensolaris que tenho disponível, então YMMV.