Назад | Перейти на главную страницу

найти файлы с недопустимыми предикатами

Итак, я пытаюсь получить все файлы старше 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

который должен делать то, что вы хотите.