Sono su Linux (Ubuntu) e vorrei escludere determinate directory (come .hg) quando eseguo un
find | less
Ho provato quanto segue per escludere la directory .hg dall'elenco, ma non sembra funzionare.
find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )
Come escludo .directory
in un comando trova
Risposta accettata:
Alla ricerca di un simile find
soluzione Ho scoperto l'utile spiegazione su Come usare l'opzione "-prune" di "trova" in sh? di Laurence Gonsalves.
Potresti usare qualcosa come:
find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )
o (senza il nome)
find . ( -type d -name .hg -prune ) -o ( -type f -print )
Le parentesi (escape) (
e )
raggruppare i test (type
e name
) e le azioni corrispondenti (prune
e print
, rispettivamente) insieme a sinistra e a destra dell'OR (-o
).
Da -o
ha una precedenza inferiore rispetto alla giustapposizione, puoi omettere le parentesi se lo desideri. Molti find
le implementazioni ti consentono anche di saltare il -print
finale .
find . -type d -name .hg -prune -o -type f -name "foo" -print