Mystere avec grep

Le
Hugolino
Bonjour,

Je fais encore appel à la qualité des contributeurs du ng pour tirer au
clair une bizarrerie de grep (bash/linux)

J'ai mis tous mes scripts bash dans un répertoire pour leur passer un
coup de sed, parce que j'avais 1591 occurences de "echo -e "à remplacer
par "echo ".
Pour vérifier que tout s'est bien passé j'ai fait des diffs, mais j'ai
aussi lancé la commande 'grep -C 1 -n -e "echo -e" *', pour vérifier

Là je me suis aperçu que je n'avais pas pensé au "echo -en" (50
occurences). Pas grave.

Mais là où c'est bizarre c'est que parmi la sortie de la commande grep,
j'ai ça:
8<--8<8<-8<-8<-8<-8<
Mantar-40-echo "${esc}${back};${titre};4mArchivage et compression <cut>
Mantar:41:echo -e
Mantar-42-echo "'${esc}${back};${com};1mtar -cvf - fich_ou_rep | <cut>
8<--8<8<-8<-8<-8<-8<

et en fait la ligne 41 du script ManTar est :
8<--8<8<-8<-8<-8<-8<
echo ""
8<--8<8<-8<-8<-8<-8<

De plus en plus bizarre, si je fais 'grep -C 1 -ne "echo -e" ManTar',
alors grep reste muet.

Pourquoi grep ne raconte-t-il pas la même chose selon que je le lance
sur tous les scripts du répertoire ou spécifiquement sur le fichier dont
il me dit qu'elle contient "echo -e".

Si je rajoute un blanc à la fin du motif c'est à dire que la commande
est 'grep -C 1 -n -e "echo -e " *' alors le script ManTar ne fait plus
partie de la sortie.

Par contre, j'ai encore un fichier qui matche:
8<--8<8<-8<-8<-8<-8<
JPFixeMount~-22-
JPFixeMount~:23:echo -e ${GREEN} "Type in the ${YELLOW}$TheOuinOuin <cut>
JPFixeMount~-24-read Reponse
8<--8<8<-8<-8<-8<-8<

Et la ligne 23 du script JPFixeMount est:
8<--8<8<-8<-8<-8<-8<
echo -n ${GREEN} "Type in the ${YELLOW}$TheOuinOuinBordel${GREEN} <cut>
8<--8<8<-8<-8<-8<-8<

Encore plus bizarre, si j'édite le script et que je supprime la ligne 22
qui était vide, alors le grep ne matche plus.


Je me demande si le problème n'est pas du au fait que je mets de la
couleur dans mes scripts. Il commencent tous par:
8<--8<8<-8<-8<-8<-8<
#!/bin/sh
# The doc is http://people.via.ecp.fr/~alexis/formation-linux/samba.html
TheOuinOuinBordel="Fixe"

NORMAL="^[[0;39m"
RED="^[[1;31m"
GREEN="^[[1;32m"
YELLOW="^[[1;33m"
BLUE="^[[1;34m"
MAGENTA="^[[1;35m"
CYAN="^[[1;36m"
WHITE="^[[1;37m"
8<--8<8<-8<-8<-8<-8<

Et j'utilise les variables ${GREEN} ${YELLOW}, etc pour colorier la
sortie sur l'écran.


Merci de vos éclaircissements.


PS: mes scripts sont là : <http://www.roulaize.fr/scripts_bash/>

--
<HTML> <P><BR>peut-on acceder avec xterm sous windows &agrave; linux
en tant qu'utilisateur root, ou avec un utilisateur diff&eacute;rent
qui a les m&ecirc;mes droits
-+- FML in Guide du linuxien pervers : "Bien configurer son article"
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane Chazelas
Le #736984
2007-05-16, 21:06(+02), Hugolino:
Je fais encore appel à la qualité des contributeurs du ng pour tirer au
clair une bizarrerie de grep (bash/linux)

J'ai mis tous mes scripts bash dans un répertoire pour leur passer un
coup de sed, parce que j'avais 1591 occurences de "echo -e "à remplacer
par "echo ".
[...]


Pourquoi ne pas le remplacer par le truc standard plutot (printf
'%bn')?

--
Stéphane

Publicité
Poster une réponse
Anonyme