GNU/Linux >> Linux Esercitazione >  >> Linux

Trova in modo ricorsivo i file con un'estensione specifica

Utilizzando find è -regex argomento:

find . -regex '.*/Robert\.\(h\|cpp\)$'

O semplicemente usando -name :

find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)

find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)

Il -o rappresenta un OR condizione e puoi aggiungerne quanti ne desideri all'interno delle parentesi graffe. Quindi questo dice di trovare tutti i file che contengono la parola "Robert" ovunque nei loro nomi e i cui nomi terminano in "pdf" o "jpg".


In alternativa all'utilizzo di -regex opzione su find , poiché la domanda è etichettata bash, puoi utilizzare il meccanismo di espansione delle parentesi graffe:

eval find . -false "-o -name Robert".{jpg,pdf}

La mia preferenza:

find . -name '*.jpg' -o -name '*.png' -print | grep Robert

Linux
  1. Omissione dell'estensione con Trova?

  2. Come eliminare file con estensione specifica nella riga di comando di Linux

  3. Come trovare tutti i file con dimensione del file zero (0) byte in una directory in modo ricorsivo

  4. Linux / UNIX:esempi di comando find per trovare file con set di autorizzazioni specifici

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

Comando Trova Linux con esempi pratici

Trova i file persi con Scalpel

Come rimuovere file con estensione specifica in Linux

Come copiare file con estensione di file specifica in modo ricorsivo

Come escludere un'estensione di file specifica durante la copia ricorsiva di file

Come posso copiare in modo ricorsivo i file per estensione di file, preservando la struttura delle directory?