find . -printf "touch -m -d \"%t\" '%p'\n" | tee /tmp/retime.sh
Команда find . -printf "touch -m -d \"%t\" '%p'\n" | tee /tmp/retime.sh
выполняет поиск файлов и выводит команду touch
для изменения метки времени каждого файла. Команда tee
записывает эту команду в файл /tmp/retime.sh
.
Эта команда полезна, когда нужно скопировать метки времени файлов из одного места в другое, особенно если содержимое файлов уже синхронизировано, но метки времени неверны.
Альтернативным способом может быть использование команды rsync
с опцией --times
, которая копирует и сохраняет метки времени файлов.
Аргументы команды find
— .
означает текущий каталог, -printf "touch -m -d \"%t\" '%p'\n"
указывает формат вывода команды touch
с меткой времени файла. Аргумент команды tee
— /tmp/retime.sh
указывает файл, в который будет записана команда touch
.