GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir la liste de tous les fichiers par masque dans le terminal ?

Je veux trouver tous les *.h ,*.cpp fichiers dans des dossiers avec un masque défini, comme */trunk/src* . Ainsi, je peux trouver séparément *.h et *.cpp fichiers :

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

Quelle est la meilleure façon d'obtenir la liste de fichiers des deux types (*.h et *.cpp ) ?

PS Je voudrais diriger la liste vers grep .

Réponse acceptée :

Vous pouvez utiliser -o pour "ou" :

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

qui est identique à

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

Si vous souhaitez exécuter grep sur ces fichiers :

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

ou

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

Linux
  1. Répertorier de manière récursive tous les fichiers d'un répertoire, y compris les fichiers des répertoires de liens symboliques

  2. Comment obtenir tous les fichiers dépassant une certaine taille et les supprimer

  3. Trouver tous les fichiers dont le nom contient une chaîne

  4. Commande pour lister tous les fichiers sauf . (point) et .. (point point)

  5. Exclure la liste des fichiers de la recherche

Comment trouver toutes les polices installées sous Linux

Obtenir tous les fichiers sauf les fichiers du tableau - Bash ?

Comment lister tous les fichiers classés par taille sous Linux ?

Répertorier tous les fichiers d'images graphiques avec rechercher ?

Comment trouver/lister tous les fichiers uniques dans deux répertoires ?

Obtenir la taille de tous les dossiers du répertoire