Я очень плохо знаком с sql и bash-скриптингом, но даже в этом случае мне удается создать sql-таблицу с предстоящими событиями. И мне удается создать скрипт, удаляющий старые события, и экспортировать все в таблице в текстовый файл. И вот как выглядит этот код ..
#!bin/bash
mysql -uroot -pPass kalender -e "delete from event where datum < now()"
mysql -uroot -pPass kalender -e "select * from event" > textfile.txt
Но как мне сделать конкретное поле в тексте, как это ..
Пр.
(дата1) (исполнитель1) придет (место1) в (день1) в (время1)
(дата2) (исполнитель2) придет в (место2) в (день2) в (время2)
Предполагая, что столбцы вашей таблицы event
названы так, как они есть в ожидаемом результате, вы можете сделать это:
mysql -uroot -pPass kalender -B --disable-column-names -e "select concat('The ', date_format(date1, '%d.%m.%Y'), ' ', artist1, ' will come to place ', place1, ' on ', date_format(day1, '%W'), ' at ', date_format(time1, '%H:%i')) from event" > textfile.txt
Примечания:
date1
, day1
и time1
на самом деле относятся к одному и тому же столбцу, это не проблема. Вы просто используете одно и то же имя столбца для всех форматов, а строки формата определяют, что будет распечатано. -B
и --disable-column-names
для подавления нормального форматирования оператора select.