Encontre arquivos e diretórios regulares


9

Como posso saber (se posso dizer!) Para encontrar arquivos do diretório e do tipo de arquivo?

find -type fd

É como a idade das trevas heurística aqui em cima.

Respostas:


12

Aqui está o comando que você pode usar:

find -type f -or -type d

7
Ou find -type f -o -type dpara alternativa compatível com POSIX.
manatwork

Ei, eu tive um pequeno problema com isso quando executo $ find. - tipo d - ou - tipo f - e - nome "visão", não faz exatamente o que eu esperava, estou perdendo outra coisa!
precisa saber é o seguinte

2
-a tem precedência sobre -o, use parênteses (mas escape para o shell). Não é necessário usar o não-padrão ou -e.
Stéphane Chazelas

se eu tentar `encontrar. -type d ou -type f -name 'abc' . I get an error.. find: caminhos devem preceder a expressão: `.. Alguma idéia do porquê?
Alpha_989 1/07

11
@ alpha_989 falta -antes or?
Mateusz Piotrowski

2

tl: dr

usar find . -name "*string*" -type f -o -name "*string*" -type d

explicação

o comando -o oré o argumento após o caminho do arquivo completamente, de modo que find . -name "*string*" -type f -o -type dcalcula find . (-name "*string*" -type f) -o (-type d). Por esse motivo, você deve especificar o

A maioria dos usuários deseja algo que se pareça com

find . -name  "*string*" -type f -o -name "*string*" -type d

que calcula como

find . (-name  "*string*" -type f) -o (-name "*string*" -type d)

encontre detalhes de sintaxe

-name "*string*"procura por nomes que contenham a string stringem qualquer lugar neles.


1

Se você estiver usando o GNU find, a solução a seguir pode ser sua:

find -type d,f

Veja man findpara mais detalhes:

Para procurar mais de um tipo de uma vez, você pode fornecer a lista combinada de letras de tipo separadas por vírgula ,(extensão GNU).


2
Usando a GNU findversão 4.7.0 .. Parece não suportar ,. A mensagem de erro diz issofind: Arguments to -type should contain only one letter.
alpha_989
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.