-printє типовою дією . Деякі findпредикати розглядаються як дії на відміну від фільтрів або умов . Наприклад, -type fце не дія. -execце дія, хоча вона також може бути використана як умова.
Дії включають в себе -print, -execі -ok. Деякі findреалізації мають інші нестандартні предикати дії , такі як -print0, -printf, -execdir, -okdir, -ls...
find files <some-predicates>
Якщо жодна з дій<some-predicates> утримання не еквівалентна:
find files \( <some-predicates> \) -print
(зверніть увагу на дужки, які є важливими, якщо є деякі -oоператори).
Коли ви сумніваєтесь, найкраще використовувати -printявно (або -exec printf '%s\0' {} +(або -print0там, де це можливо), щоб результат був оброблений після).
Дія за замовчуванням -printзадається POSIX. Деякі старі findреалізації вимагають явного-print , але вони зазвичай не зустрічаються в дикій природі в наш час.
Також зауважте, що деякі findреалізації дозволяють опускати files, у цьому випадку вони за замовчуванням шукають пошук у поточному каталозі. Тобто для них
find
еквівалентно
find .
find . -print
Однак це не є стандартним, тому його краще уникати.
На більш детальному (і корисному) кінці спектру деякі findреалізації також дозволяють передавати шляхи файлів як аргумент до -fпараметра, як у:
find -f "$file1" -f "$file2" -print
Вони є єдиними findреалізаціями, які дозволяють пропускати довільні шляхи до файлу find. Інші реалізації не можуть прийняти шляхи до файлів, наприклад, !або -print... тому find "$file" -print(або навіть find -- "$file" -print) припускається, що $fileце не ім'я findпредиката (або опції в першому випадку).
На жаль, це не є стандартним і не портативним.