как получить количество файлов старше 1 часа на ksh HP-UX

Мне нужно перечислить набор файлов, созданных старше 1 часа в определенной папке HP-UX. Ниже приведена команда, которую я пробовал.

find . -type f -mmin +60 | wc -l

Но он возвращает следующую ошибку для ksh

найти: плохой вариант -mmin

Каков альтернативный вариант получения количества файлов старше 1 часа?

Даже я пробовал следовать команде. Еще одна ошибка. Но это также работает на bash

find . -type f -mtime  +0.04 | wc -l

find: Ошибка обработки аргумента 0,04


person sugunan    schedule 10.05.2018    source источник
comment
Используйте touch для создания файла часовой давности и используйте find ! -newer tmpfile   -  person Walter A    schedule 10.05.2018
comment
@sugunan хочет, чтобы файлы были старше, а не новее, поэтому ваш ответ (и мой ниже) недействителен   -  person manolonte    schedule 10.05.2018
comment
Извините, с! это сработает, но правильная команда — find . ! -более новый временной файл   -  person manolonte    schedule 10.05.2018


Ответы (1)


find в HP-UX не имеет параметров для минут, mtime принимает в качестве аргумента дни. Вы можете создать тестовый файл, «потрогать» его нужным временем и затем сравнить с ! -новее[м]. Например:

# onehourago=`date  +"%m %d %H %M" | awk '{ onehourago=$3 - 1 ; if (onehourago<0) { onehourago=59 } printf("%.2d%.2d%.2d%.2d\n",$1,$2,onehourago,$4) }'`

# touch -t "$onehourago" testfile

# find . -type f ! -newer testfile | wc -l
person manolonte    schedule 10.05.2018
comment
Мой ответ недействителен, потому что ему нужны файлы старше тестового файла, а это невозможно, насколько я знаю, нет опции -older. - person manolonte; 10.05.2018
comment
Отредактировано и теперь действительно, с ! оператор - person manolonte; 10.05.2018
comment
Это отлично работает на HP-UX. Единственная проблема, он также считает тестовый файл. Но я это исправлю. Хоть как спасибо за ответ. - person sugunan; 11.05.2018