Следующая команда убедится, что TEST2 получает ту же дату, назначенную для TEST1
touch -t `stat -t '%Y%m%d%H%M.%S' -f '%Sa' TEST1` TEST2
Теперь вместо использования жестко запрограммированных значений вы можете найти файлы с помощью утилиты "find", а затем запустить touch через SSH на удаленной машине. Однако это означает, что вам, возможно, придется вводить пароль для каждого файла, если только вы не переключите SSH для проверки подлинности. Я бы предпочел не делать все это в супер причудливой строчке. Вместо этого давайте работать с временными файлами. Сначала перейдите к рассматриваемому каталогу и запустите поиск (вы можете фильтровать по типу файла, размеру, расширению, что угодно, смотрите подробности в разделе «поиск человека». Я просто фильтрую по типу файла здесь, чтобы исключить любые каталоги):
find . -type f -print -exec stat -t '%Y%m%d%H%M.%S' -f '%Sm' "{}" \; > /tmp/original_dates.txt
Теперь у нас есть файл, который выглядит следующим образом (в моем примере там только две записи):
# cat /tmp/original_dates.txt
./test1
200809241840.55
./test2
200809241849.56
Теперь просто скопируйте файл на другой компьютер и поместите его в каталог (чтобы относительные пути файлов совпадали) и примените даты:
cat original_dates.txt | (while read FILE && read DATE; do touch -t $DATE "$FILE"; done)
Также будет работать с именами файлов, содержащими пробелы.
Одно примечание: я использовал последнюю дату «модификации» в stat, так как это то, что вы написали в вопросе. Однако это скорее звучит так, как будто вы хотите использовать дату «создания» (у каждого файла есть дата создания, дата последнего изменения и дата последнего доступа), вам нужно немного изменить статистический вызов.
'%Sm' - last modification date
'%Sc' - creation date
'%Sa' - last access date
Однако касание может только изменить время модификации и время доступа, я думаю, что оно не может изменить время создания файла ... поэтому, если это было вашим реальным намерением, мое решение могло бы быть неоптимальным ... но в этом случае ваш вопрос был также; -)