GNU/Linux >> Tutoriales Linux >  >> Linux

¿Obtener una lista de todos los archivos por máscara en la terminal?

Quiero encontrar todos los *.h ,*.cpp archivos en carpetas con máscara definida, como */trunk/src* . Entonces, puedo encontrar por separado *.h y *.cpp archivos:

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

¿Cuál es la mejor manera de obtener la lista de archivos de ambos tipos (*.h y *.cpp )?

PD:me gustaría canalizar la lista a grep .

Respuesta aceptada:

Puedes usar -o para “o”:

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

que es lo mismo que

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

Si desea ejecutar grep en estos archivos:

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. Obtener todos los archivos excepto los archivos en matriz:¿Bash?

  2. Cómo encontrar todos los archivos dispersos en Linux

  3. Cómo gzip todos los archivos en todos los subdirectorios en bash

  4. ¿Cómo encontrar todos los archivos con un directorio principal en particular en Linux?

  5. Lista de todas las carpetas y subcarpetas

Cómo encontrar todas las fuentes instaladas en Linux

¿Cómo enumerar todos los archivos ordenados por tamaño en Linux?

Cómo enumerar recursivamente todos los archivos y directorios

Cómo obtener todos los archivos que excedan cierto tamaño y eliminarlos

Encuentra todos los archivos con un nombre que contenga una cadena

Excluir la lista de archivos de la búsqueda