Para começar, você pode usar awk
para procurar linhas em um arquivo que contenha uma string assim:
$ awk '/CFS264/ { .... }' lastloggedin
Os bits no { .... }
serão os comandos necessários para calcular o número de linhas com essa string. Para confirmar que o acima está funcionando, você pode usar um print $0
para simplesmente imprimir as linhas que contêm a string de busca.
$ awk '/CFS264/ { print $0 }' lastloggedin
Quanto à contagem, se você pesquisar por "contador de awk", encontrará este SO Q & A intitulado: usando o awk para contar os registros . O método mostrado ali seria suficiente para o que você descreve:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Exemplo
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
NOTA: Você não diz a qual campo o CFS264 pertence na saída last
. Supondo que seja um nome de usuário, você pode restringir ainda mais o comando awk
para pesquisar somente esse campo da seguinte forma:
$ awk '$1=="CFS264" { print $0 }' lastloggedin