Trova sia i file che le directory regolari


9

Come posso sapere (se posso dirlo!) Trovare per trovare sia i file della directory che il tipo di file?

find -type fd

È come il buio euristico invecchia qui.

Risposte:


12

Ecco il comando che puoi usare:

find -type f -or -type d

7
O find -type f -o -type dper un'alternativa conforme a POSIX.
arte

Ehi, ho riscontrato un piccolo problema con questo quando eseguo $ find. -type d -or -type f -and -iname "vision" non fa esattamente quello che mi aspetto, mi sto perdendo qualcos'altro!
MageProspero,

2
-a ha la precedenza su -o, usa la parentesi (ma scappa per la shell). Non è necessario utilizzare il non standard -o o -e.
Stéphane Chazelas,

se provo `trova. -type d o -type f -name 'abc' . I get an error.. find: i percorsi devono precedere l'espressione: `.. Qualche idea sul perché?
alpha_989,

1
@ alpha_989 mancante -prima or?
Mateusz Piotrowski,

2

TL: dr

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

spiegazione

il comando -o ors completamente gli argomenti dopo il percorso del file, in modo tale che find . -name "*string*" -type f -o -type dcalcola find . (-name "*string*" -type f) -o (-type d). Per questo motivo, è necessario specificare il

La maggior parte degli utenti vorrà qualcosa che assomigli

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

che calcola come

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

trova i dettagli della sintassi

-name "*string*"cerca i nomi che contengono la stringa stringovunque in essi.


1

Se stai usando GNU find, la seguente soluzione potrebbe essere adatta a te:

find -type d,f

Vedi man findper maggiori dettagli:

Per cercare più di un tipo alla volta, è possibile fornire l'elenco combinato di lettere di tipo separate da una virgola ,(estensione GNU).


2
Utilizzando la GNU findversione 4.7.0 .. Non sembra supportare ,. Il messaggio di errore dice chefind: Arguments to -type should contain only one letter.
alpha_989
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.