Como posso escrever um script de shell para filtrar o último comando?

0

Eu quero escrever um script para estatísticas de login. Quero contar quantas vezes um usuário efetuou login e, em seguida, exibi-las em ordem crescente ou decrescente, fornecidas pelo usuário final. O problema é que eu não sei como escrever um script que poderia contar quantas vezes um usuário logou. Eu tenho que usar o último comando.

    
por Bakos Dominik 19.11.2018 / 17:08

1 resposta

0
#!/bin/bash
userlist=$(cat /etc/passwd | cut -d : -f 1)
for user in $userlist; do
        timesloggedin=$(last $user | head -n -2 | wc -l);
        echo $timesloggedin $user;
done | sort -r

Isso obtém o nome de TODOS os usuários no sistema, incluindo contas do daemon etc. Se você não quiser, forneça userlist com uma lista de seus nomes de usuário. Para obter a saída em ordem crescente, solte o sinalizador -r para classificar.

    
por 20.11.2018 / 09:54