Переименование файлов с прошлым измененным разом на имени файла

Я пытаюсь переименовать файл с mv команда и я хотели бы добавить последнюю измененную дату этого файла (с форматом YYYYMMDD) на имени файла и переместить его в другую папку. Я получил текущую системную дату как это:

mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"

Я использовал другие комбинации date но я не получил его. Я должен знать, возможно ли это, делают это непосредственно командной строкой, или я должен создать сценарий.

4
задан 1 January 2017 в 16:21

3 ответа

Можно попробовать эту команду:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt
5
ответ дан 1 December 2019 в 09:21

Вероятно, проще всего разобраться с помощью небольшого файла сценария.

-o-

Я думаю, что вы хотите использовать дату модификации вместо текущей даты, см. Выходные данные из

ls -l a.txt

или

ls -l --time-style=long-iso a.txt
1
ответ дан 1 December 2019 в 09:21

Спасибо, я понял! Только одна деталь. Если вы используете команду из пути, где нет исходного файла, вам нужно использовать это:

mv /dir_path/example.txt / new_dir_path / $ (дата +% Y-% m-% d -r /dir_path/example.txt)example.txt

0
ответ дан 1 December 2019 в 09:21

Другие вопросы по тегам:

Похожие вопросы: