Outils pour utilisateurs

Outils du site


dev:bash:rechercher-chaine-dans-plusieurs-fichiers

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)){
dev/bash/rechercher-chaine-dans-plusieurs-fichiers.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1