-
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 filename
em vez de
if (filename = "foo.bar") print filename
ou seja, você está dando mais trabalho para fazer. Na realidade, porém, a diferença será insignificante.
find
já 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.