Почему find -exec выполняет только один результат?

Вот что я проверил:

find mydir -maxdepth 2 -name .project -or -name .classpath

дает выход:

 mydir/.project mydir/.classpath 

между тем

find mydir -maxdepth 2 -name .project -or -name .classpath -exec echo {} \;

дает выход:

 mydir/.classpath 

поэтому указан только один найденный элемент, почему?

xargs работает так, как ожидалось:

find mydir -maxdepth 2 -name .project -or -name .classpath | xargs -I {} echo {};

печатает:

 mydir/.project mydir/.classpath 

Я что-то пропустил -exec ?

  • находить и удалять файлы старше конкретных дней и иметь определенную строку в именах файлов
  • find и rm -rf, почему он печатает ошибки?
  • find + grep для соответствия точных ключевых слов в файле
  • locate не находит файл, присутствующий в текущем каталоге
  • найти X, но исключить их?
  • найти ошибку совпадения команд
  • Найдите файл в папке1 и выполните сценарий, если этот файл не находится в папке2
  • ssh-add добавить все закрытые ключи в .ssh каталог
  • One Solution collect form web for “Почему find -exec выполняет только один результат?”

    Выражение find в основном представляет собой список предикатов (булевых условий). Почти во всех булевых контекстах, включая выражения find , оператор AND имеет приоритет над OR . Если я добавлю некоторые круглые скобки, чтобы явно проиллюстрировать правила приоритета, ваше второе выражение find логически эквивалентно

     ( -name .project ) OR ( -name .classpath AND -exec echo) 

    Чтобы получить желаемое поведение, вам нужно

     find mydir -maxdepth 2 \( -name .project -o -name .classpath \) -exec ... {} \; 
    Interesting Posts

    Где установлен grub и нужен ли мне новый для отдельной Linux-установки?

    Разложение спецификаций пути в longest-common-prefix + суффикс

    ограничивать контекст grep частью строки результата

    Почему мои идентично подготовленные USB-накопители отличаются в одном байте?

    команда find: -или опция не работает

    Как удалить повторяющиеся строки, сохраняя порядок и игнорируя регистр?

    Почему пакеты в официальном репо часто очень устарели?

    Использование pam_listfile.so с проверкой радиуса

    Fedora 25, pptp подключается, но не работает, слишком много переданных пакетов

    Установка проприетарных драйверов NVidia 304 на тестирование / растяжение Debian

    sudo: не спрашивайте пароль при входе в систему с помощью ssh key

    veth пара из одного физического nic

    Есть ли разница между sudo su-root и sudo -u root -H / bin / bash?

    менее цветной выход с отключенным переносом слов

    Назначение постоянных имен интерфейсов, используя udev, с обобщенным методом

    Linux и Unix - лучшая ОС в мире.