Como contar valores que correspondem a uma determinada condição?

2

Eu tenho um arquivo com o número de colunas, por exemplo

arquivo de entrada

12  15  27  
5   6  48  
19  16  25  
17  23  37

etc

Eu quero contar todos os números ( X ) na coluna 2, por exemplo, que preencham a seguinte condição 6 <= X < 20

, então o resultado seria 3 correspondendo aos números 15 , 6 e 16 .

    
por Mohsen El-Tahawy 13.07.2016 / 19:22

2 respostas

11

Isso é fácil o suficiente em uma ferramenta como awk

awk '$2>=6 && $2<20 { tot++ } END { print +tot}'

Se você quiser soma , então

awk '$2>=6 && $2<20 { tot += $2 } END { print +tot}'
    
por 13.07.2016 / 19:25
3

Para condições notadas é fácil passar por todos os números necessários

grep -Ec '^[0-9]+\s+([6-9]|1[0-9])\b'
    
por 13.07.2016 / 20:07