Действие -print
действительно имеет значение истина, но только после , которое оно печатает.
Обратите внимание, что при этом все файлы печатаются дважды:
$ find . -print -print
.
.
./file1
./file1
./file2
./file2
Несмотря на наличие двух операторов печати, эта команда печатает только один раз:
$ find . \( -not -print \) -print
.
./file1
./file2
Здесь первый -print
оценивается как истина, поэтому - not -print
оценивается как ложь. Следовательно, вторая печать не выполняется.