Réponses:
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.
Exécutez ceci dans la ligne de commande:
cd / && find | grep '\.sql$'
Remplacez «/» par le répertoire que vous souhaitez rechercher.
La findcommande est capable d'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:
cd /)find)| grep '\.sql$')finda déjà des capacités de filtrage
Je sais que c'est un vieux post, mais je suis assez nouveau dans ce domaine 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 enfants. Eh bien, vous accédez d'abord au parent Directorypuis find . -name '*.sql'et vous trouverez tous les fichiers avec l' extension .sql dans les répertoires et ses sous-répertoires.
Dans mon cas, je voulais supprimer tous les fichiers .xml dans le répertoire et ses sous-répertoires, donc ce que j'ai fait de plus, c'est que j'ai ajouté remove comme icifind . -name '*.xml' | xargs rm
J'espère que cela aide quelqu'un :)
findcomprend la -deletecommande. Pas besoin d'impliquer rm. Ou vous pouvez utiliser la -execcommande pour l'invoquer directement sans détour par un tuyau et xargs.
locate -br \\.sql$ | egrep '^/folder/path/'
S'il n'est pas installé, installez-le auparavant avec:
sudo apt install mlocate
mlocate.dbinstance à jour qui n'est pas configurée prête à l'emploi dans Ubuntu (je blieve). Et pourquoi pas tout simplement locate '/folder/path/*.sql'?
locatea un paramètre différent de regex utilisé dansegrep
locatecorrespond aux expressions globales comme /folder/path/*.sql, et non aux expressions régulières.
man locateje comprends -r, --regexp REGEXP - Search for a basic regexp REGEXPdonc j'ai supposé que c'était une expression régulière. Quoi qu'il en soit, j'ai essayé votre "expression globale" mais ne fonctionne pas, je suis désolé
--regexn'est pas spécifié, PATTERNs peut contenir des caractères globuleux.» ( Source )