Итак, я пытаюсь получить все файлы старше 40 дней. (отсюда -mtime -40), но не может найти, потому что некоторые файлы имеют недопустимые предикаты. (Необходимо найти все файлы в текущем или в дочернем.
$ find . -name * -mtime -40 > FILE_LIST
find: invalid predicate `-file-name.xls'
А потом...
$ find ./* -name * -mtime -40 > FILE_LIST
find: invalid predicate `-file-name.xls'
И ни один из них, похоже, этого не делает.
АААА .... Если вы прочитаете справочную страницу -mtime -40, вы получите файлы возрастом МЕНЕЕ 40 дней. Разве вы не хотите этого:
find . -mtime +40 >FILE_LIST
если вы хотите найти / перечислить файлы старше 40 дней.
Думаю, проблема в том, что *
в твоем -name *
расширяется оболочкой до списка файлов, который затем передается для поиска в командной строке. Затем команда find анализирует командную строку и находит -file-name.xls
который он пытается интерпретировать как аргумент командной строки.
пытаться
find . -mtime -40 > FILE_LIST
который должен делать то, что вы хотите.