Linux - usuários online e logados após uma data especificada

0

Eu tenho que escrever um script de shell que retorna todos os usuários online que efetuaram login após uma data especificada.

Eu tentei

who | cut -d' ' -f1 | sort | uniq

mas eu não sei como colocar a condição para que a data seja posterior à data que eu dou manualmente.

    
por Brigitta 24.11.2016 / 12:43

1 resposta

1

Você pode resolver esse problema de várias maneiras, geralmente prefiro usar épocas para comparar datas.

O comando date pode converter facilmente para epoch (segundos desde 1970-01-01 00:00:00 UTC):

Data / hora atual na época:

date +%s
1479994078

Converta qualquer data para a época:

date --date="19-FEB-12" +%s
1329620400

Você pode comparar facilmente as datas no bash expandindo os comandos:

if [[ $(date +%s) >= $(date --date="19-FEB-12" +%s) ]]
  then
    ...
fi
    
por 24.11.2016 / 14:35