Em
find -type l -o -type f -print
você especificou uma ação, então o padrão não se aplica mais. Mas -printf
aqui está vinculado a -type f
porque “e” tem uma precedência maior que “ou”; você pode pensar nisso como equivalente a
find \( -type l \) -o \( -type f -print \)
Para processar os links e os arquivos da mesma maneira, você precisa agrupar os testes:
find \( -type l -o -type f \) -print