Bash : rechercher une chaîne dans des fichiers de manière récursive avec Grep

Bash

Voici une petite technique utile pour rechercher la présence d’une chaine de texte dans le contenu des fichiers d’un répertoire.

Sous linux, j’utilise très fréquemment la commande grep.

La syntaxe de grep

La syntaxe de grep est toute simple puisqu’elle consiste à définir des options de recherche, suivies des mot-clés à chercher, et enfin du répertoire de travail.

Voilà ce que cela nous donne :

grep [option] "text string to search" directory-pathCode language: JavaScript (javascript)

Grep en action

Sur le serveur, on se place dans le répertoire de travail pour y lancer cette commande :

grep --color --include=\*.{php,js,css} -rnwe "recherche" . Code language: PHP (php)

Voici le détail des arguments :

  • --color : pour activer la colorisation des résultats
  • --include=\*.{php,js,css} : les extensions de fichiers à cibler
  • -r : de manière récursive
  • -n : avec les numéros de ligne
  • -w : mots complets de la recherche (recherche stricte)
  • -e : active la regex sur les extensions de fichiers

Note : le terme à recherche doit être entre guillemets et il faut bien ajouter le point (.) final ou alors explicitement donner le chemin complet du répertoire de travail.

Grep et les expressions régulières

Il est également possible d’utiliser des expressions régulières avec Grep :

grep --color -HnR "add_[a-zA-Z].*_page.*, [0-9]*," /home/public_html/wp-content/plugins/Code language: JavaScript (javascript)

Très utile pour rapidement trouver une fonction devenue obsolète ou un bout de code utilisé dans plusieurs fichiers.

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

Opinions