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 find
commande 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$'
)find
a 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 Directory
puis 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 :)
find
comprend la -delete
commande. Pas besoin d'impliquer rm
. Ou vous pouvez utiliser la -exec
commande 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.db
instance à jour qui n'est pas configurée prête à l'emploi dans Ubuntu (je blieve). Et pourquoi pas tout simplement locate '/folder/path/*.sql'
?
locate
a un paramètre différent de regex utilisé dansegrep
locate
correspond aux expressions globales comme /folder/path/*.sql
, et non aux expressions régulières.
man locate
je comprends -r, --regexp REGEXP - Search for a basic regexp REGEXP
donc 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é
--regex
n'est pas spécifié, PATTERN
s peut contenir des caractères globuleux.» ( Source )