Я пытаюсь запустить (unix-shell, win7):
find . -maxdepth 1 -name "*.jpg" -size -50k -delete
и получите ошибку:
find: invalid predicate '-delete'
какие-нибудь намеки?
Вы также можете обнаружить, что xargs полезен не только в операциях поиска и удаления, но и в других случаях, когда вам может потребоваться обработать текст после выполнения команды. В этом случае,
find . -maxdepth 1 -name "*.jpg" -size -50k | xargs rm -f
Всегда сначала проверяйте свою работу с помощью "echo" перед xargs (чтобы вы могли увидеть, как выглядят команды, прежде чем запускать их). Который будет выглядеть так:
find . -maxdepth 1 -name "*.jpg" -size -50k | xargs echo rm -f
В версии find
найденной из используемой вами оболочки unix (из windows), отсутствует предикат -delete
.
Возможная альтернатива - это:
find . -maxdepth 1 -name "*.jpg" -size -50k -exec rm {} \;