Compare e conte no ubuntu

0

Eu tenho um arquivo com duas colunas como esta:

Product Cost
ab        5
ab        7
bl        1
bl        8
ce        4

Eu quero pesquisar por "ab" e "bl" e, em seguida, preciso somar os custos para eles e preciso mostrar qual deles é maior

Eu tentei (grep "ab" myfile | numsum -c 2) e (grep "bl" myfile | numsum -c 2), mas não é possível comparar a soma e imprimir o resultado. Alguma ajuda?

    
por Aquarius24 14.09.2015 / 00:31

1 resposta

3

$ awk '/ab|bl/{s[$1]+=$2} END{for (k in s) print "sum of",k,"is",s[k]; if (a["ab"]>a["bl"]) print "ab is greater"; else print "bl is greater";}' myfile
sum of ab is 12
sum of bl is 9
bl is greater

Como funciona

  • /ab|bl/{s[$1]+=$2}

    Para linhas que contêm ab ou bl, soma a coluna 2.

  • Depois que terminarmos de ler o myfile, use as instruções print para exibir os resultados:

    END{
        for (k in s) print "sum of",k,"is",s[k];
        if (a["ab"]>a["bl"])
            print "ab is greater"
        else 
            print "bl is greater";
     }
    
por John1024 14.09.2015 / 00:41
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '164073',
    'url' => 'compare-and-count-in-ubuntu',
];

$_SESSION = [
    '__flash' => [],
];