Мне нужно выбрать все файлы, которые были добавлены в определенный каталог за последние 5 минут, и скопировать их в другой каталог. Я использую ОС HP-UX, которая не поддерживает amin, cmin и mmin. В связи с этим я создаю временный файл и буду использовать команду find -newer для сравнения файлов с временным файлом с измененной отметкой времени (5 минут назад). HP-UX не поддерживает параметр -d для команды «touch», поэтому я не могу сделать что-то вроде этого:
touch -d "5 mins ago" temp
Я попытался использовать следующее решение, но получил сообщение об ошибке (недопустимое имя переменной):
TZ=ZZZ0 touch -t "$(TZ=ZZZ0:5 date +%Y%m%d%H%M.%S)" temp
Вопрос. Кто-нибудь знает, как выбрать файлы, добавленные в каталог за последние 5 минут, без необходимости манипулировать меткой времени (минуты, дни, месяцы и т. д.)?
Примечание. Мой скрипт будет запускаться каждые 5 минут, но мне нужно, чтобы решение содержалось в скрипте (т. е. не зависело от того, что он будет запускаться каждые 5 минут). Я не могу жестко запрограммировать временную метку.
Спасибо,
Мэтт
TZ=ZZZ0
? Я не признаю это как действительную запись, но я рад узнать что-то новое; -) Удачи. - person shellter   schedule 16.02.2015TZ=ZZZ0
. Это было частью потенциального решения, но оно не работает для меня. Я получаю сообщение об ошибке недопустимого имени переменной. Спасибо - person Marcus Koz   schedule 16.02.2015touch -d
. Просто используйте следующую логику: 1) коснитесьtemp2
2) засните не менее 1 секунды, так как это степень детализацииfind
. 3) найдите все файлы новееtemp
и обработайте их 4)mv temp2 temp
5) спите сколько хотите, затем переходите к 1). - person Mark Plotnick   schedule 16.02.2015