Supondo que você tenha data do GNU, essa função fornecerá todas as datas dos dois meses anteriores:
dates_in_previous_two_months () {
for month_delta in 0 1; do
# get the last day of a previous month
day=$(date -d "$(date +%Y-%m-01) -$month_delta month -1 day" +%Y%m%d)
until [[ $day == *00 ]]; do
echo $day
((day--))
done
done
}
Para qualquer dia no mês de fevereiro de 2013, isso retorna:
20130131
20130130
20130129
[... and so on until ...]
20121203
20121202
20121201
Em março, as datas serão retornadas de 20130228
para 20130101
Você poderia usá-lo como:
for date in $(dates_in_previous_two_months); do
"fetch" AA_XX_$date
done
ou
dates_in_previous_two_months | xargs -I{} "fetch" AA_XX_{}