{{tag>sysadmin dev script bash recherche}} ====== Rechercher une chaîne dans un ensemble de fichiers ====== Retrouver une chaîne de caractères dans un ensemble de fichiers sources. Ce script est une simple **boucle for**. Elle peut être directement tapée dans l’interpréteur bash. On récupère les fichiers dont on souhaite scruter le contenu. Ils sont fournis séquentiellement en argument à la commande grep avec les options **%%--%%with-filemane** et **%%--%%line-number** qui permettent de préfixer le résultat avec le nom du fichier et la ligne lorsqu' il y a correspondance (matching c'est a dire lorsque la chaîne recherchée est présente) . Dans cette exemple on rechecher la chaîne **//session_is_registered//** qui correspond a un nom de fonction dans des fichiers scripts PHP: for f in $(find . -type f -name \*.php -print); do grep --with-filename --line-number session_is_registered $f done Ci-dessous un exemple de résultat retourné par le script: ./index.php:28:if(session_is_registered('nProfil') && session_is_registered('userid') && session_is_registered('logopath')){ ./x_load.php:252: if(!session_is_registered('nProfil')) { ./x_load.php:426: if(session_is_registered('COORD_PROJECTION')){ ./importcsv/index.php:23:if(session_is_registered('nProfil')){ ./indexold.php:28:if(session_is_registered('nProfil') && session_is_registered('userid') && session_is_registered('logopath')){ ./template/fiche/releve_proprio.php:4:if(session_is_registered('nProfil') && session_is_registered('userid') ){ ./template/fiche/releve_proprioold.php:4:if(session_is_registered('nProfil') && session_is_registered('userid') ){ ./edition/ajax.php:20:if(!session_is_registered('nProfil'))exit ; ./edition/utils.php:504: if(!session_is_registered(LOG_SESSION)){