tente
... | awk '{ print "..." ; c++}
END { printf "<tr><th>%d lines</th>...</tr>",c}'
onde
-
c
contará o número da linha (suponho que o greping ocorra antes do pipe) -
END
é uma instrução awk especial executada .. no final.
Eu tenho um padrão grep e awk bastante complicado que eu uso para obter relatórios de arquivos de log. Eu trabalho muito e gero uma boa tabela HTML leve que é enviada por e-mail para as pessoas que precisam dela.
Eu gostaria de adicionar, para cada seção (cada grep), uma contagem dos elementos daquela seção.
grep -c não ajuda porque somente retorna uma contagem e eu não quero rodar o grep duas vezes antes de cada arquivo de log para cada seção.
Tudo é executado dentro de um script bash, que também gera o HTML. Eu posso numerar as linhas usando CSS, mas obter a contagem total seria ótimo.
O grep / awk tem várias linhas e o final é o awk que gera o html:
...| awk '{print "<tr><td class=\"rightq\"> \
<a href=\"mailto:[email protected]?Subject=\
"ENVIRON["DAY"]"%20"$1"&Body="ENVIRON["aBODY"]"\">" \
$1"</a></td><td class=\"rightz\">"$2"</td><td>"$4"</td></tr>"}'