Você também pode fazer isso usando awk , paste e bc . Eu acho essa abordagem mais fácil de lembrar, a sintaxe de awk sempre exige que eu procure as coisas para confirmar.
NOTA: Esta abordagem tem a vantagem de poder lidar com várias linhas de saída, subtraindo o segundo, terceiro, quarto, etc. números do primeiro.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}' | paste -sd- - | bc
7513404
Detalhes
O texto acima usa awk para selecionar a coluna que contém os números que queremos subtrair.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}'
7969084
408432
Em seguida, usamos paste para combinar esses valores de 2 valores e adicionar o sinal de menos entre eles.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}'| paste -sd- -
7969084-346660
Quando passamos isso para bc , ele realiza o cálculo.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}'| paste -sd- - | bc
7513404