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-сообщения, их учетные записи теперь зарегистрированы.

  • grep first n и последние n символов из строки в файле
  • Объединить строки по первому столбцу с помощью awk или sed
  • Добавьте пробел или вкладку перед последним символом в каждой строке
  • Как просмотреть файлы, содержащие пробелы в имени файла?
  • Вставка скрипта Sed и добавление в неправильное место только в одном конкретном месте
  • Вставить текст в определенные строки файла?
  • sed в поиске сценариев bash
  • Хотите заменить слова пространством в нескольких файлах, используя SED commmand
  • 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;" 
    Interesting Posts

    Встречайте проблемы при попытке разместить ASP.NET Web Api на Debian с помощью Mono и Nginx

    Как изменить задержку, возникшую после ввода неправильного пароля?

    Puppet: принуждение пользователя изменить пароль при следующем входе в систему

    Создание сценария Unix для лучшего сна

    сетевая маска по умолчанию в Solaris

    Как сделать функцию доступной для команды `parallel` (GNU)?

    Найти дубликаты имен файлов с определенным шаблоном соответствия

    объединение двух файлов в соответствии с общим столбцом

    вывод ps отличается при запуске из командной строки и скрипта

    less -j не работает для меня

    Использование технологии Apple Keyboard OSX в Linux Destop

    Маршрут по умолчанию в ip-маршруте

    Должен / dev / random и / dev / urandom создаваться каждой загрузкой, или это статические файлы, которые можно поместить в tar?

    Значение предварительного просмотра sftp live

    Загрузка через локальную сеть с помощью uboot

    Linux и Unix - лучшая ОС в мире.