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