Não faz sentido adicionar um valor apenas se ele for 1. Nesse caso, você pode contar as linhas correspondentes:
grep -c " 1 " < inputfile
A adição real é feita desta forma:
awk 'NR>1 { sum+=$1 }; END { print sum }' inputfile
Eu tenho esta saída:
Count Process
238 0
1 1124027
1 1124065
1 1124066
1 1124069
1 1124072
1 1124073
1 1547365
1 1547366
Eu queria adicionar todas as Contagens, exceto a primeira linha (238). Como faço isso no awk?
até agora eu tenho esse awk 'NF == 1 {for (i=2;i<=FNR;++i) sum += i print $i}'
mas é um erro.
Qualquer ajuda é muito apreciada. Obrigado
Estou tentando analisar a saída deste comando:
cat /proc/8920/maps | awk '{print$5}' | sort | uniq -c |'awk 'NF == 1 {for (i=2;i<=FNR;++i) sum += i print $i}''
Tudo funciona bem até uniq -c, mas depois disso eu tenho problema com o awk script para adicionar todas as linhas nas primeiras colunas, exceto a primeira linha, que é 238. Espero que isso limpe as coisas.
A resposta de Hauke Laging e eu criei este script
cat /proc/8920/maps | awk '{print$5}' | sort | uniq -c | awk 'NR>1 { sum+= $1} END {print sum}'
agora está funcionando. Muito obrigado!
Tags awk