Если вы думаете, что многие другие, к сожалению, mysql-workbench не является хорошим и простым инструментом для быстрого и точного, вы можете установить предыдущие удаленные инструменты непосредственно из репозитория вручную. Вам просто нужно загрузить и установить следующие .deb-пакеты:
https://launchpad.net/ubuntu/precise/amd64/mysql-gui-tools-common/5.0r14+openSUSE-2.2ubuntu2 https : //launchpad.net/ubuntu/precise/amd64/libmysqlclient16/5.1.58-1ubuntu5 launchpad.net/ubuntu/precise/amd64/mysql-query-browser/5.0r14+openSUSE-2.2ubuntu2 launchpad.net/ubuntu/precise /amd64/mysql-admin/5.0r14+openSUSE-2.2ubuntu2
Конечно, это для архитектуры amd64, поскольку i386 просто меняет ссылку.
Если ваша дата / время была структурирована yy-mm-dd hh: mm: ss вместо первого дня, тогда вы можете выполнить сравнение строк для фильтрации по линиям после указанной даты. Для переформатирования использования данных
sed 's/\(..\)-\(..\)-\(..\)\(.*\)/\3-\2-\1\4/' log > log.reformatted
Затем вы можете использовать awk для печати строк после заданной даты и времени, объединяя их вместе, например
awk '$1 " " $2 >= "17-06-22 06:40:00"' log.reformatted
. Использование даты получить время 30 минут назад хорошо - просто измените его в формате year-month-day. Вам не нужно действие print $ 0, так как это подразумевается, если не указано никаких действий.
Обратите внимание, что я предполагаю, что «grepping» означает использование инструментов Unix для фильтрации желаемого подмножества доступных data.
Исходная ошибка, вероятно, связана с пробелом между датой и временем, так что аргумент -v получает только дату, а время отображается как отдельный аргумент, запутывающий awk. Чтобы решить эту проблему, используйте формат %H, а не %k (так как ваш формат журнала равен 2-значному часу), и удалите пространство между днем и часом (в качестве упрощенного решения проблемы). Тогда все решение становится:
sed 's/\(..\)-\(..\)-\(..\)\(.*\)/\3-\2-\1\4/' log |
awk -v date=$(date -d "30 minutes ago" +"%y-%m-%d%H:%M:%S") '$1$2 >= date'