Если есть структура каталогов, в которой хранятся записи на основе даты их записи. Первоначально был один каталог, который содержал подкаталог для каждого дня, подобного этому
- имя_базовой_папки
- 2010-01-01
- несколько файлов и иногда подкаталогов
- 2010-01-02
- ...
- ...
- 2014-12-15
- 2010-01-01
Так как это стало слишком большим для комфорта, я решил немного передвигаться и в итоге получил следующее:
- имя_базовой_папки
- 2010
- 01
- 2010-01-01
- 2010-01-02
- ...
- 2010-01-31
- 02
- 2010-02-01
- 2010-02-02
- ...
- 2010-02-28
- 03
- ...
- 01
- 2011
- ...
- 2014
- 2010
Так что, чтобы получить сегодняшние данные, я бы посмотрел в basedir/2014/12/2014-12-15/
Я хотел бы переименовать все подкаталоги с полной датой так, чтобы в них указывался только день месяца. Сегодняшние данные будут размещены в basedir/2014/12/15/
.
Каков простой способ достичь этого?
После некоторого осмотра я создал регулярное выражение для find
которое специально дает мне каталоги, которые я ищу, тем самым уменьшая количество путаницы.
find . -type d -regextype posix-extended -regex '.*/(20[0-9]{2})/(0[1-9]|1[0-2])/\1-\2-(0[1-9]|[1-2][0-9]|3[0-1])'