Bash для сопоставления двух переменных для разницы во времени

У меня есть команда bash извлечения данных учетной записи пользователя из MySQL с помощью команды

 select creationdate from users; 

что дает мне следующий результат

 Name Account Creation Date Mobile User1 2015-06-18 16:00:00 29292922 User2 2015-06-18 16:06:00 56896906 User2 2015-06-18 16:08:00 16842146 

Теперь я хочу, чтобы каждый пользователь ACCOUNT , CREATION , DATE с текущим временем даты, и если его дата создания составляет менее 5 минут, тогда она должна указывать учетные записи, например

 New accounts are user2 and user3 

Что-то вроде того. Чтобы я мог отправлять им SMS-сообщения, их учетные записи теперь зарегистрированы.

3 Solutions collect form web for “Bash для сопоставления двух переменных для разницы во времени”

mysql должен иметь возможность сделать это за вас. Но если вам нужно выполнить пост-обработку этого вывода, я бы использовал:

 perl -MTime::Piece -lne ' if (/^(\S+)\s+(\d{4}\S+\s+\S+)/ and $t = Time::Piece->strptime($2, "%Y-%m-%d %T") and time - $t->epoch <= 5*60 ) {print $1}' 

Это предполагает, что имена пользователей не могут содержать символы пробела.

С GNU awk вы бы сделали

 awk ' { time = $2 " " $3; gsub(/[-:]/, " ", time); t = mktime(time) } (systime() - t) <= 300 {print $1} ' 

Я забыл обновить эту тему. Нашел решение в тот же день, используя следующие

 mysql -u$SQLUSER -p$SQLPASS -e "use $DB; select creationdate,login,package,expirydate,mobile from users WHERE creationdate >= NOW() - INTERVAL 5 MINUTE;" 
  • В сценарии Nexenta bash используется / usr / sun / bin / sed вместо / usr / bin / sed
  • sed - удалить unmatched "}", ")" или "]" (только для рассматриваемой строки)
  • Добавление текста в начало текстового файла
  • извлекать символы before () с помощью grep
  • разбор файла из ls -laLR
  • Использование xargs для генерации ссылок
  • Использовать переменную и новую строку в BSD sed?
  • Сценарий, который удаляет лишние пробелы между буквами в тексте
  • Замените строку в нескольких файлах, используя find и sed
  • Усечение точности даты
  • В чем смысл использования нескольких восклицательных знаков в sed?
  • Самый быстрый инструмент `uniq` в linux
  • Linux и Unix - лучшая ОС в мире.