69 votes

Comment rechercher des fichiers à l'aide de regex dans un script shell Linux

Supposons que je veuille rechercher des fichiers contenant python dans le nom de fichier, dans tous les sous-répertoires de Linux, à partir d'un script shell. Comment puis-je rechercher dans tous les emplacements en utilisant regex ?

114voto

John Kugelman Points 108754

Trouvez tous les fichiers .py.

 find / -name '*.py'

Recherchez les fichiers avec le mot "python" dans le nom.

 find / -name '*python*'

Idem que ci-dessus mais insensible à la casse.

 find / -iname '*python*'

Correspondance Regex, plus flexible. Recherchez à la fois les fichiers .py et les fichiers avec le mot "python" dans le nom.

 find / -regex '.*python.*\|.*\.py'

-1voto

Malcolm Box Points 2427

Si de simples expressions régulières du shell suffisent, vous pouvez utiliser find

 find /linux -name "*python*"

Sinon, je dirais utiliser ack (http://betterthangrep.com/)

-3voto

Crayon Violent Points 16544
find / -name "python"

[texte de remplissage pour rencontrer min.]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X