Как отсортировать массив в обратном порядке?

Для бекапа пишу скрипт, столкнулся c не пониманием как отсортировать в обратном порядке.
Имеется 2 папки с файлами:
/var/backup/daily/site-2018-08-03.tar.gz
/var/backup/daily/site-2018-08-06.tar.gz
/var/backup/weekly/site-2018-07-22.tar.gz
/var/backup/weekly/site-2018-08-01.tar.gz

FOLDER_DATE=(
	daily
	weekly
)

for folder in ${FOLDER_DATE[@]};do
	for file in /var/backup/$folder/*.tar.gz;do
	    if [ -f $file ];then
		        files+=($file)
	    fi
       done
done

for var in ${files[@]};do
	echo $var
done


Получаю вывод:
/var/backup/daily/site-2018-08-03.tar.gz
/var/backup/daily/site-2018-08-06.tar.gz
/var/backup/weekly/site-2018-07-22.tar.gz
/var/backup/weekly/site-2018-08-01.tar.gz

Хочу получить массив:
/var/backup/daily/site-2018-08-06.tar.gz
/var/backup/daily/site-2018-08-03.tar.gz
/var/backup/weekly/site-2018-08-01.tar.gz
/var/backup/weekly/site-2018-07-22.tar.gz

Сортировать нужно именно массив, а не вывод из него.
Можно предложить не сортировку массива, а изначально правильное сохранение в массив на шаге:
for file in /var/backup/$folder/*.tar.gz;do
  • Вопрос задан
  • 375 просмотров
Решения вопроса 1
DevMan
@DevMan
например, https://ideone.com/7DA9ZK

или сразу получать отсортированный список файлов: сравните выхлоп ls -tla и ls -trla.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы