GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni l'elenco di tutti i file per maschera nel terminale?

Voglio trovare tutti i *.h ,*.cpp file in cartelle con maschera definita, come */trunk/src* . Quindi, posso trovare separatamente *.h e *.cpp file:

find . -path "*/trunk/src/*.h"
find . -path "*/trunk/src/*.cpp" 

Qual è il modo migliore per ottenere l'elenco dei file di entrambi i tipi (*.h e *.cpp )?

PS Vorrei reindirizzare l'elenco a grep .

Risposta accettata:

Puoi usare -o per "o":

find . -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp'

che è lo stesso di

find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' )

Se vuoi eseguire grep su questi file:

find . ( -path '*/trunk/src/*.h' -o -path '*/trunk/src/*.cpp' ) -exec grep PATTERN {} +

o

find . -path '*/trunk/src/*' ( -name '*.h' -o -name '*.cpp' ) -exec grep PATTERN {} +

Linux
  1. Come trovare tutti i file sparsi in Linux

  2. Elenca in modo ricorsivo tutti i file in una directory, inclusi i file nelle directory dei collegamenti simbolici

  3. Come ottenere tutti i file che superano determinate dimensioni ed eliminarli

  4. Trova tutti i file con nome contenente una stringa

  5. Come trovare tutti i file con una particolare directory principale in Linux?

Come trovare tutti i caratteri installati in Linux

Come elencare tutti i file ordinati per dimensione in Linux?

Elenca tutti i file di immagini grafiche con find?

Comando per elencare tutti i file tranne . (punto) e .. (punto punto)

elenca/trova tutti i file regolari in tutte le sottodirectory esclusi i file binari

Come trovare/elencare tutti i file univoci in due directory?