Почему 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 ?

  • Есть ли способ найти файлы, содержащие только непечатаемые символы?
  • Как извлечь один файл из двух путей в unix?
  • Отключить gzip-ошибки / предупреждения при использовании zgrep
  • Удаление пустых каталогов командой 'ls'
  • find -exec on zsh: эхо работает, как и ожидалось, печать не
  • Найти файлы, начинающиеся с ~ $ (MicroSoft Word Temp файлы)
  • Почему у меня есть 4 вызова вместо 3 при использовании этого find -execdir {} + (plus)?
  • Как проверить сегодняшний день и файлы поиска
  • 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

    ps пользовательский выход в RHEL 6.2

    SquashFS + UnionFS как корневая файловая система?

    Есть ли способ узнать, почему tmux разбился

    Как запустить последнюю версию программы?

    Ресурс (время и память процессора) ограничение и прекращение процесса при нарушении в Linux

    Как устранить проблему репозитория yum с ошибкой «Нет пакета … доступной»?

    определить, существуют ли IP-адреса в списке A в списке диапазонов IP в списке B

    Как я могу заставить `time` использовать тот же формат, когда присутствует stdin?

    Значение Grep из json-файла

    Почему вывод «free» отличается от суммирования использования памяти для каждого процесса в «ps»?

    Ошибка ImportError: отсутствие модуля с именем _struct при управлении пакетами

    Не удается получить доступ к жестким дискам с установочного компакт-диска FreeBSD.

    Как получить информацию о маршрутизаторе в событии «dhcp4-change» в сценарии /etc/dhcp/dhclient.d/?

    Какие привилегии у меня есть (узнайте в скрипте оболочки bourne)

    Где хранятся привязки ключевых слов по умолчанию?

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