Avaliando o valor de retorno de uma linha de comando

6

Como faço para avaliar ou calcular o valor de retorno de uma linha de comando? Por exemplo, eu conto o número de linhas com um grep e quero saber se esse valor está acima de X. Se sim, quero imprimir o número em um arquivo.

Ou eu quero subtrair o valor de uma contagem do grep para outra contagem do grep ...

Como posso manipular os valores de retorno dessa maneira?

    
por Philippe Carriere 04.07.2012 / 20:35

1 resposta

11

Acho que você está misturando duas coisas que o valor de retorno normalmente indica se um comando foi bem-sucedido (valor de retorno 0) ou não (qualquer outra coisa). Você pode obter o valor de retorno de um comando da variável $?

grep -c retorna a contagem para stdout, para capturar a contagem você pode usar algo como

variable=$(grep -c pattern filename)

Depois você pode calcular / acessar a variável como você quiser. Consulte Como fazer inteiro & cálculos de flutuação, em bash ou outras linguagens / frameworks? como calcular o material com a saída.

    
por 04.07.2012 / 21:04