Como somar a saída de dois comandos e salvá-lo em um arquivo?

1

Eu tenho dois comandos kfsql que recebem total contagem de usuários.

Eu preciso que essas duas saídas de comando sejam adicionadas e impressas em file.txt

Eu tentei:

var1= getdatabase1
var2= getdatabase2
echo "$var1"
echo "$var2"
var3=$((var1+var2)) or var3="$(($var1 + $var2))"
echo"$var3"

mas o var3 ou var1 e var2 não imprime a saída do comando e a contagem total.

    
por user163691 31.03.2016 / 20:23

2 respostas

2

Assumindo que getdatabase1 e getdatabase2 são comandos que imprimem suas contagens para stdout, você deve poder alterar suas atribuições para

var1=$(getdatabase1)
var2=$(getdatabase2)
var3=$((var1+var2))
printf "%s\n%s\n%s\n" "$var1" "$var2" "$var3" > file.txt

a sintaxe $(...) executa o comando entre os parens e "retorna" o stdout desse comando, que salvamos aqui em nossas variáveis. Sem eles, o nome do comando será tratado como uma string e atribuído às variáveis, mas não será executado.

    
por 31.03.2016 / 20:28
0

você tentou executá-los em um subshell da seguinte forma:

(getdatabase1; getdatabase2) > file.txt 

Se não estiver funcionando, por favor, elabore a saída que você está recebendo ou a falta dela.

    
por 31.03.2016 / 20:32