A partir dos arquivos de entrada e saída fornecidos, pressupõe-se que os dados sejam estruturados da seguinte forma:
cat -n FROM_DATE
1 20190105
2 20171124
cat -n TO_DATE
1 20190112
2 20171201
em que a data tem o formato de YYYYmmdd
(e foi ou seja, criado via date +%Y%m%d
).
Para ter uma ideia melhor de como ele é agregado, permite que imprima o lado de dois arquivos lado a lado .
pr -m -J -t FROM_DATE TO_DATE
20190105 20190112
20171124 20171201
Portanto, parece que as perguntas são mais sobre "Como expandir o intervalo de valores que são divididos em dois arquivos e ter o resultado agregado?".
Seguindo as dicas do comentário do @steeldriver e da resposta do @Nortole, uma possível solução poderia se parecer com:
#!/bin/bash
while read -r START_DATE && read -r END_DATE <&3; do
echo $START_DATE
for (( DATE="${START_DATE}"; DATE != END_DATE; )); do
DATE="$(date --date="${DATE} + 1 days" +'%Y%m%d')"
echo $DATE # which will be equals to END_DATE at the end
done
done < FROM_DATE 3<TO_DATE
A execução do script fornecerá a saída esperada:
20190105
20190106
20190107
20190108
20190109
20190110
20190111
20190112
20171124
20171125
20171126
20171127
20171128
20171129
20171130
20171201