grep out condition e adiciona os valores do valor do grep

0

Eu tenho um cenário em que um arquivo csv tem os valores de:

abcd FAILURE 7

abcd SUCCESS 12

efgh SUCCESS 3

efgh FAILURE 5

mnop SUCCESS 6

mnop SUCCESS 4

abcd FAILURE 5

efgh SUCCESS 2

mnop SUCCESS 1

abcd FAILURE 7

mnop SUCCESS 3

abcd FAILURE 5

Initial grep com abcd / efgh / mnop com falha ou condição de sucesso, então eu preciso de um valor de adição das condições correspondentes

eu preciso da saída necessária como essa, por favor me ajude

por exemplo:

abcd FAILURE 7

abcd FAILURE 5

abcd FAILURE 7

abcd FAILURE 5

--------------------

abcd FAILURE **24**

abcd SUCCESS 12

------------------

abcd SUCCESS **12**

mas eu não quero dar nenhuma string estática em condição.

obrigado antecipadamente.

    
por manu2711 06.02.2014 / 12:30

2 respostas

0

Usando a opção grep -c para contar as ocorrências de uma string de pesquisa. echo gera o texto e usa um sub-shell para a contagem do grep.

echo "abcd FAILURE $(grep -c "abcd FAILURE" filename)" 
echo "abcd SUCCESS $(grep -c "abcd SUCCESS" filename)" 
    
por 06.02.2014 / 12:34
0

Pode ser que você queira algo assim:

awk '
BEGIN {
    fail = suc = 0
}
$2 == "FAILURE" {
    fail += $3
    next
}
$2 == "SUCCESS" {
    suc += $3
}
END {
    printf "%s:%s\n%s:%s\n", "SUCCESS",suc,"FAILURE",fail
}' inputFile

Saída com o seu arquivo:

SUCCESS:31
FAILURE:29
    
por 16.02.2014 / 05:58

Tags