BASH test dans liste expression regulière

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - Modifié par sbouli le 20/04/2011 à 17:04
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 22 avril 2011 à 22:45
Bonjour,

Je cherche à gérer une liste d'exception, si le fichier contient dans son nom un des mot clef je ne traite pas.

donc si le fichier s'appel toto_access.log je traite pas ....

IGNORE_FILES_ALERTE="access,infos" 

 if [[ $IGNORE_FILES_ALERTE == *'basename ${fich}'* ]] 
then 
            echo "je ne traite pas ce fichier basename ${fich}, il fait parti des exceptions aux alertes" 
else 
            //ici je bosse                  
fi 


evidemment mon [[ ne semble pas fonctionner .... au secours ...

Stéphane
A voir également:

6 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
20 avril 2011 à 16:10
Salut,

Rassures-moi, c'est pas du Perl, c'est du Bash non ?
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
20 avril 2011 à 17:04
j'ai dis perl ?? non non bash of course ... désolé
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
20 avril 2011 à 17:06
Ok, et elle contient quoi la variable "${fich}" ?
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
20 avril 2011 à 17:21
for fich in 'ls -1 ${LOGS_PATH}/*.log 2>/dev/null'
do


donc en clair le nom de chaque fichier, je veux pas traiter totot_access.log ou access_toto.log
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
20 avril 2011 à 17:25
Ça j'avais compris, ce que je veux c'est savoir à quoi ressemble le nom de tes fichiers et comprendre pourquoi le test échoue ;-\

Sans ça je ne peux pas t'aider ;-(
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
20 avril 2011 à 18:04
ben c'est le fichiers de log apache donc rien de particulier ...
je comprend pas bien la question mais par exemple tout à l'heure j'ai eu une alerte sur un fichier nommé : /var/log/apache2/access_edistrigame.log
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
20 avril 2011 à 18:36
Ben ne te casses pas la tête :

for fich in 'ls -1 ${LOGS_PATH}/*.log 2>/dev/null | egrep -v 'access|infos''
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
20 avril 2011 à 18:42
a non pas possible, je les exclus des alertes mails / sms mais je les traites quand même par ftp .... donc il faut qu'ils passent dans la boucles
j'ai simplifié le code pour la question :)
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
Modifié par zipe31 le 20/04/2011 à 19:07
Essaies ça (le retour à la ligne dans la déclaration de la variable "IGNORE_FILES_ALERTE" est voulu et normal, c'est pour pouvoir le traiter avec "fgrep") :

IGNORE_FILES_ALERTE="access 
infos" 

fgrep -q -e "${IGNORE_FILES_ALERTE}" <<<${fich} 

retval=$? 

if [[ ${retval} = 0 ]] 
then  
            echo "je ne traite pas ce fichier basename ${fich}, il fait parti des exceptions aux alertes"  
else  
            //ici je bosse                   
fi 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
22 avril 2011 à 20:48
Salut,

Rassures-moi, c'est pas du Perl, c'est du Bash non ?
Je pense qu'il fait allergie à Perl ;-DDD, toi aussi d'ailleurs --------------------






----------------> Je sors ;-)))
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
22 avril 2011 à 22:45
Salut,

Tu peux sortir oui et loin ;-))

Pour la petite histoire, le titre initial était : PERL test dans liste expression regulière

D'où mon interrogation ;-)
0