drno-reg
@drno-reg
см не кратко

Почему find: paths must precede expression?

Простой вопрос

на bash пишу для поиска файлов между минус 2 днями и минус 1 днем

DATE1=$(date -d "-2 days" +"%Y-%m-%d %k:%M:%S %z")
DATE2=$(date -d "-1 days" +"%Y-%m-%d %k:%M:%S %z")
find . -newermt $DATE1 ! -newermt $DATE2 -ls


получаю ошибку

find: paths must precede expression

что не так?
  • Вопрос задан
  • 3701 просмотр
Пригласить эксперта
Ответы на вопрос 2
shambler81
@shambler81 Куратор тега Linux
а то что в find уже есть вшитый алгоритм + дней - дней вас не смущает?
find. / -mtime +n
find ./ -mtime -n
На крайняк file ./ -mtime +n -exec find -mtime -n file {} \;
Что конкретно пытаетесь сделать ?
Ответ написан
Комментировать
@SunTechnik
Командную строку запускаете в Bash.
В нем ! это запуск предыдущей команды, после чего на запуск отдается совсем не то, что Вы набрали. Необходимо маскировать ! .
find . -newermt $DATE1 \! -newermt $DATE2 -ls
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы