web-dev-qa-db-fra.com

Rechercher tous les fichiers avec une extension .sql dans des dossiers et sous-dossiers

Je veux rechercher tous les fichiers avec l'extension .sql dans des dossiers et sous-dossiers (récursifs).

Comment puis-je faire ceci?

17
Blankman

Ou...

find $directory_name -name \*.sql

Par exemple

find / -name \*.sql

Ou

find ~ \*.sql

(où ~ équivaut à/home/votre_nom_utilisateur /), ou ...

find /usr/local/share/ \*.sql

et ainsi de suite.

29
user8290

Exécutez ceci dans la ligne de commande:

cd / && find | grep '\.sql$'

Changez le répertoire/dans le répertoire que vous souhaitez rechercher.

La commande find peut accomplir la tâche sans grep (en utilisant des options supplémentaires), mais je trouve l'utilisation ci-dessus plus pratique.

Dans l'ordre, la commande ci-dessus:

  1. Change le répertoire actuel en répertoire racine (cd /)
  2. Répertorie tous les fichiers et répertoires situés dans et sous le répertoire en cours (find).
  3. Filtre les fichiers et les répertoires pour tout ce qui se termine par '.sql' (| grep '\.sql$')
2
Barbarrosa

Je sais que c’est un vieux post, mais j’en suis assez nouveau et j’ai trouvé un moyen facile de trouver tous les fichiers d’une certaine extension dans un répertoire et ses sous-répertoires children. Eh bien, vous devez d’abord naviguer vers le parent Directory puis le find . -name '*.sql' et vous trouverez tous les fichiers avec l’extension . Sql dans les répertoires et leurs sous-répertoires.

Dans mon cas, je voulais supprimer tous les fichiers . Xml du répertoire et de ses sous-répertoires. Ce que j'ai fait de plus, c’est que j’ai ajouté supprimer comme ici find . -name '*.xml' | xargs rm

J'espère que cela aidera quelqu'un :)

1
M090009
locate -br \\.sql$ | egrep '^/folder/path/'

S'il n'est pas installé, installez-le auparavant avec:

Sudo apt install mlocate
0
Vzzarr