-
Seus comandos nem funcionam, por dois motivos:
-
O diretório inicial (ou diretórios), se houver, deve sempre aparecer antes do (s) teste (s), se houver, então seus comandos teriam que ser
find / -name foo.bar … -
Geralmente você não pode dizer
-type file; deve ser-type f.
-
- Por que você suspeitaria que adicionar um teste adicional melhoraria o desempenho?
-
Teoricamente, poderia diminuir o desempenho, porque você está fazendo
if (filename = "foo.bar" AND filetype = "f") print filenameem vez de
if (filename = "foo.bar") print filenameou seja, você está dando mais trabalho para fazer. Na realidade, porém, a diferença será insignificante.
findjá precisa obter as informações do tipo de arquivo para ver quais entradas são diretórios (e, portanto, precisa ser pesquisado recursivamente). Uma vez que tenha essa informação, verificar se é um arquivo simples requer apenas algumas instruções da CPU, e é muito rápido.