Переименование файлов с последним измененным временем в имени файла
Я пытаюсь переименовать файл с mv
и я хотел бы добавить дату последнего изменения этого файла (в формате ГГГГММДД) в имя файла и переместить его в другую папку. Я получил текущую системную дату следующим образом:
mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"
Я использовал другие комбинации date
но я не понял Мне нужно знать, возможно ли это сделать напрямую из командной строки или мне нужно создать скрипт.
3 ответа
Вы можете попробовать эту команду:
mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt
Вероятно, проще всего исправить ситуацию с помощью небольшого файла сценария.
-о-
Я думаю, что вы хотите использовать дату изменения вместо текущей даты, смотрите вывод
ls -l a.txt
или же
ls -l --time-style=long-iso a.txt
Спасибо, я понял! Только одна деталь. Если вы используете команду из пути, где нет исходного файла, вам нужно использовать это:
mv /dir_path/example.txt / new_dir_path / $ (дата +%Y-%m-%d -r /dir_path/example.txt)example.txt