Скрипт для создания файла (bash)

Модератор: Модераторы разделов

Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Скрипт для создания файла

Сообщение DjSpike »

Помогите написать скрипт на bash. Скрипт должен создавать текстовый файл с именем report.flz, следующего содержания:

Код: Выделить всё

$$$TRANSACTIONSBYDATETIMERANGE
03.02.2010 00:00:00; 03.02.2010 23:59:59;


Первая строчка фиксированная и постоянная.
А вторая строчка вычисляется и равна текущая дата минус один день, т.е. если сегодня 05 феврля 2010 г. то строчка должна выгядить так:

Код: Выделить всё

05.02.2010 00:00:00;  05.02.2010 23:59:59;
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт для создания файла

Сообщение allez »

Код: Выделить всё

$ echo "$(date +'%m.%d.%Y %T'); $(date -d '-1 day 1 sec' +'%m.%d.%Y %T');"
02.05.2010 13:11:28; 02.04.2010 13:11:29;


А это более универсальный метод (конструкции вида "$(command)" работают не во всех оболочках):

Код: Выделить всё

$ echo "`date +'%m.%d.%Y %T'`; `date -d '-1 day 1 sec' +'%m.%d.%Y %T'`;"
02.05.2010 13:13:13; 02.04.2010 13:13:14;
Спасибо сказали:
WTakET
Сообщения: 73
ОС: Debian GNU/Linux squeeze/sid

Re: Скрипт для создания файла

Сообщение WTakET »

date --date="yesterday" +%d.%m.%y
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Скрипт для создания файла

Сообщение DjSpike »

А как первую строчку вывести, если через printf то в файле какие-то цифры получаются...
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт для создания файла

Сообщение allez »

Используйте "правильные" кавычки. ;)

Код: Выделить всё

$ echo '$$$TRANSACTIONSBYDATETIMERANGE'
$$$TRANSACTIONSBYDATETIMERANGE

Код: Выделить всё

$ printf "%s\n" '$$$TRANSACTIONSBYDATETIMERANGE'
$$$TRANSACTIONSBYDATETIMERANGE
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Скрипт для создания файла

Сообщение DjSpike »

А может кто нибудь полностью код скрипта написать ?
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Скрипт для создания файла

Сообщение allez »

Так он уже написан. Всего-то и надо, что две строчки вместе собрать. :)

Код: Выделить всё

#!/bin/bash
echo '$$$TRANSACTIONSBYDATETIMERANGE'
echo "$(date +'%m.%d.%Y %T'); $(date -d '-1 day 1 sec' +'%m.%d.%Y %T');"

Запускать так: <имя_скрипта> > report.flz.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: Скрипт для создания файла

Сообщение DjSpike »

Вот окончательный вариант рабочего скрипта:

Код: Выделить всё

#!/bin/bash
echo '##@@&&'
echo '#'
echo '$$$TRANSACTIONSBYDATETIMERANGE'
echo "$(date -d '-1 day 1 sec' +'%d.%m.%Y 00:00:00'); $(date -d '-1 day 1 sec' +'%d.%m.%Y 23:59:59');"
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали: