Linux - користувачі онлайн і увійшли в систему після зазначеної дати


0

Я повинен написати сценарій оболонки, який повертає всіх користувачів онлайн, які увійшли в систему після вказаної дати.

я намагався

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

але я не знаю, як ввести умову для дати пізніше дати, яку я даю вручну.

Відповіді:


1

Ви можете вирішити цю проблему кількома способами, я зазвичай вважаю за краще використовувати епоху для порівняння дат.

The date Команду можна легко конвертувати в епоху (секунди з 1970-01-01 00:00:00 UTC):

Поточна дата / час у епоху:

date +%s
1479994078

Перетворити будь-яку дату на епоху:

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

Ви можете легко порівняти дати в bash, розширюючи команди:

if [[ $(date +%s) >= $(date --date="19-FEB-12" +%s) ]]
  then
    ...
fi

Я також раджу використовувати awk для аналізу вихідного сигналу who, але це залежить від вас
Bruno9779
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.