Рекурсивно замените linux имен файлов и папок, таких как «% m-% d-% y.tar», на их фактический месяц / день / год создания. - PullRequest
0 голосов
/ 30 апреля 2020

Я ищу что-то вроде this , но с текущей датой создания вместо текущей даты.

Пример: эта папка (ниже выводится команда Linux command ls -ltr)

drwxrwxr-x 2 backup_user backup_user 4096 Apr 26 01:06 "%m-%d-%y" 

изменит имя файла на "04-26-20".

1 Ответ

2 голосов
/ 30 апреля 2020

Поскольку отсутствует некоторая информация, я пытаюсь сделать предположения и показать возможный подход к решению в целом.

Как уже упоминалось в комментариях, для файловой системы, такой как EXT3, не будет время создания . Может быть возможно использовать время модификации, которое может быть собрано с помощью команды stat, то есть

MTIME=$(stat --format="%y" \"%m-%d-%y\" | cut -d " " -f 1)

... или даже время доступа или время изменения.

Дата MTIME указывается в формате %Y-%m-%d и может быть изменена для нового имени файла с помощью

FNAME=$(date -d ${MTIME} +%m-%d-%y)

. Чем можно переименовать каталог, т. Е.

mv \"%m-%d-%y\" ${FNAME}

, который, конечно, изменит временные метки в файловой системе для каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...