Escape o ponto e use path em vez de iname :
find . -not -path "*/\.*"
-
*- qualquer prefixo -
/- diretório / separador de arquivos -
\.- escaped.. -
*- qualquer sufixo
Eu gostaria de listar todos os arquivos e diretórios não ocultos no meu caminho.
Isso significa que os arquivos que começam com . devem ser excluídos do resultado, juntamente com os arquivos cujo caminho contenha um diretório oculto:
foo/bar/.bazz.rc # Exclude
foo/.bar/bazz.rc # Exclude
Como faço isso? Eu tentei:
find -maxdepth 2 -not -iname "*/.*"
Mas ainda tenho arquivos ocultos em meus resultados.
Escape o ponto e use path em vez de iname :
find . -not -path "*/\.*"
* - qualquer prefixo / - diretório / separador de arquivos \. - escaped . . * - qualquer sufixo Tags command-line hidden-files find