Se você quiser mover arquivos com mais de 30 dias, ou mais precisamente, arquivos que não foram escritos nos últimos 30 dias:
find . -maxdepth 1 -type f -name "capacity_data_???-??-??.txt" -mtime +30 -exec echo mv {} another_directory/ \;
(Remova o echo
quando estiver satisfeito com a saída.)
Se você quiser listar os arquivos dos últimos 30 dias:
awk 'BEGIN{now_n = systime() - 30 * 24 * 60 * 60;
for(n = 30; n >= 0; n--) {
print "capacity_data_" strftime("%Y-%m-%d", now_n) ".txt"
now_n += 24* 60 * 60;
}}'
E se você quiser fazer um loop nesses arquivos:
files=$(awk 'BEGIN{now_n = systime() - 30 * 24 * 60 * 60;
for(n = 30; n >= 0; n--) {
print "capacity_data_" strftime("%Y-%m-%d", now_n) ".txt"
now_n += 24* 60 * 60;
}}')
for file in $files; do
echo $file
done