LINUX.ORG.RU

Ежемесячная сортировка дней по файлам - Bash

 


0

2

Здравствуйте друзья. Прошу помощи советом/кодом/реализацией. У меня есть Астериск, который устанавливает 4 переменные из четырех файлов: graph1day1 graph1day2 graph2day1 graph2day2 Имя переменной соответствует имени файла.

Файлы содержат числа и переменные принимают значения следующего вида: cat graph1day1 4&8&12&16&20&24&28 cat graph1day2 1&5&9&13&17&21&25&29 cat graph2day2 3&7&11&15&19&23&27&31 cat graph2day1 2&6&10&14&18&22&26&30

Хотелось бы создать ежемесячное автозаполнение для этих файлов, что бы планироващик CRON по первым числам каждого месяца осуществлял формирование этих файлов, заполняя их числами и & между ними, согласно текущему месяцу.

Пока что дошел до этого:

Строим ряды чисел с разделителями и заносим их в файл: #!/usr/bin/bash S=$(date -d «`date +'%m/01'`+1month -1day» +%d) S1=$(seq -s «&» 1 4 $S) echo $S1 | tee /mnt/share/test1day1 S2=$(seq -s «&» 2 4 $S) echo $S2 | tee /mnt/share/test1day2 S3=$(seq -s «&» 3 4 $S) echo $S3 | tee /mnt/share/test2day1 S4=$(seq -s «&» 4 4 $S) echo $S4 | tee /mnt/share/test2day2

Сейчас меня интересует: Как получить количество дней в предыдущем месяце, как получить максимальное число в ряду, как узнать к какой переменной относилось это число ?


Как получить количество дней в предыдущем месяце, как получить максимальное число в ряду, как узнать к какой переменной относилось это число ?

#!/bin/sh

mmd=$(date --date "`date '+%e'` day ago" '+%e')
graph1day1='4&8&12&16&20&24&28'
graph1day2='1&5&9&13&17&21&25'
graph2day2='3&7&11&15&19&23&27'
graph2day1='2&6&10&14&18&22&26'
last='graph1day1 28'
[ $mmd -gt 28 ] && graph1day2="$graph1day2&29" && last='graph1day2 29'
[ $mmd -ge 30 ] && graph2day1="$graph2day2&30" && last='graph2day1 30'
[ $mmd -eq 31 ] && graph2day2="$graph2day2&31" && last='graph2day2 31'
echo $last

graph2day1 30

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 1)

согласно текущему месяцу

mmd=$(date -d "$(date +%m)/1 + 1 month - 1 day" +%e)
anonymous ()

как думаешь удобно читать твою простыню?

ving2 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.