3

Я пытаюсь запустить (unix-shell, win7):

find . -maxdepth 1 -name "*.jpg" -size -50k -delete

и получите ошибку:

find: invalid predicate '-delete'

какие-нибудь намеки?

2 ответа2

5

Вы также можете обнаружить, что xargs полезен не только в операциях поиска и удаления, но и в других случаях, когда вам может потребоваться обработать текст после выполнения команды. В этом случае,

find . -maxdepth 1 -name "*.jpg" -size -50k | xargs rm -f

Всегда сначала проверяйте свою работу с помощью "echo" перед xargs (чтобы вы могли увидеть, как выглядят команды, прежде чем запускать их). Который будет выглядеть так:

find . -maxdepth 1 -name "*.jpg" -size -50k | xargs echo rm -f
4

В версии find найденной из используемой вами оболочки unix (из windows), отсутствует предикат -delete .

Возможная альтернатива - это:

find . -maxdepth 1 -name "*.jpg" -size -50k -exec rm {} \;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .