Como encontrar a ocorrência de nomes em um arquivo?

1

Eu quero saber quantas vezes os usuários que fizeram logon no sistema em um único comando.

Eu usei comandos repetitivos para descobrir quantas vezes ele foi registrado.

$ last | grep -c user1
$ last | grep -c user2

Existe alguma alternativa para o comando em uma única linha?

    
por KALAI SELVAN 14.09.2014 / 14:55

2 respostas

1

Você pode usar algo como

$ last | grep -E -c 'user1|user2'

O -E permite deixar de fora o caractere \ que você precisaria antes do | .

Se você tiver muitos nomes de usuário listados em um arquivo, um por linha, poderá lê-los diretamente no arquivo:

$ last | grep -F -c -f userlist.txt

O -F significa que as linhas nos arquivos são sequências que devem corresponder como estão, não expressões regulares.

    
por 14.09.2014 / 15:07
0

Use egrep em vez de grep para funcionalidade estendida.

$ last | egrep "(user1|user2)"

Se a sua saída for longa, você pode torná-la capaz de rolar para facilitar a visualização com o pager "menos":

$ last | egrep "(user1|user2)" | less
    
por 14.09.2014 / 15:07