Para comenzar, puede usar awk
para buscar líneas en un archivo que contenga una cadena como esta:
$ awk '/CFS264/ { .... }' lastloggedin
Los bits en el { .... }
serán los comandos necesarios para contar el número de líneas con esa cadena. Para confirmar que lo anterior está funcionando, puede usar un print $0
allí para simplemente imprimir las líneas que contienen la cadena de búsqueda.
$ awk '/CFS264/ { print $0 }' lastloggedin
En cuanto al conteo, si busca "contador awk", se encontrará con este SO Q&A titulado: usar awk para contar el número de registros . El método que se muestra allí sería suficiente para lo que describe:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Ejemplo
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
NOTA: No dice a qué campo pertenece CFS264 en la last
salida. Suponiendo que es un nombre de usuario, puede restringir aún más el awk
comando para buscar solo ese campo de la siguiente manera:
$ awk '$1=="CFS264" { print $0 }' lastloggedin
awk
? Si no, simplemente podrías usarlogrep -c CFS264 lastloggedin | wc -l
.