Il y a plusieurs fichiers ou je dois remplacer "case $id =" par "case".
Juste avec "grep -E" j'essaie de matcher "case $id =" et je ne m'en sors
pas. Aucune des tentatives listées ci-dessous ne fonctionne (je devrais
trouver au moins qu'il y a l'expression dans "utilisateurs.php3":
(certaines sont abhérantes, mais en essayant ce qui me semble "logique", je
n'obtiens pas de résultat, donc j'essaie un peu tout)
(Il se peut qu'il y ait plusieurs espaces entre "case" et "$id", etc etc)
Le seul qui fonctionne est
$ grep -rE "case(\ )+.{1}id" *
Mais évidemment, ça ne patche pas exactement ce que je veux.
J'en déduis que je ne sais pas echapper '$'
En même temps, je ne vois pas comment je peux l'échapper autrement que
par '\'.
Sinon, si je trouve comment échaper ce "$", est-ce que ça sera valable pour
sed?
Merci d'avance.
--
"Beaucoup de gens achètent des choses dont ils n'ont pas besoin
avec de l'argent qu'il n'ont pas (crédits & emprunts)
pour impressionner des gens qu'ils n'aiment pas."
Inconnu
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
[...]
J'en déduis que je ne sais pas echapper '$' En même temps, je ne vois pas comment je peux l'échapper autrement que par ''.
Il doit te falloir $. L'essentiel est qu'il reste un pour la commande grep après interprétation par le shell.
Au passage, ma réponse dans fr.comp.lang.php (non encore approuvée) est fausse concernant l'expression régulière. Je virais la valeur plutôt que la variable.
[...]
J'en déduis que je ne sais pas echapper '$'
En même temps, je ne vois pas comment je peux l'échapper autrement que
par ''.
Il doit te falloir \$. L'essentiel est qu'il reste un pour la
commande grep après interprétation par le shell.
Au passage, ma réponse dans fr.comp.lang.php (non encore approuvée) est
fausse concernant l'expression régulière. Je virais la valeur plutôt que
la variable.
J'en déduis que je ne sais pas echapper '$' En même temps, je ne vois pas comment je peux l'échapper autrement que par ''.
Il doit te falloir $. L'essentiel est qu'il reste un pour la commande grep après interprétation par le shell.
Au passage, ma réponse dans fr.comp.lang.php (non encore approuvée) est fausse concernant l'expression régulière. Je virais la valeur plutôt que la variable.
Un petit complément de réponse. Pour ma part, voici comment je traiterais le problème.
vi *.php3<Enter> /case<Enter> c3Wcase<ESC> n.n.n.n.nnn.n. (etc.) :w<Enter> :n<Enter> n.n.nn.n. (etc.)
Explications :
vi *.php3<Enter>
Éditer tous les fichiers les uns après les autres.
/case<Enter>
Chercher le premier « case »
c3Wcase<ESC>
Remplacer les trois « mots » (case, variable, égale) par le seul mot « case ».
n.n.n.n.nnn.n. (etc.)
Chercher l'occurrence suivante (n) et faire le même changement (.) si c'est vraiment l'un des case à traiter, sinon ne faire que « n » et pas « . ».
:w<Enter> :n<Enter>
Quand il t'annonce qu'il a fait le tour de tout le fichier et qu'il revient à la première occurrence, sauver le fichier (:w) et passer au suivant (:n)
n.n.nn.n. (etc.)
Et ainsi de suite.
Cyrille Lefevre
Soit ceci: $ grep case utilisateurs.php3 utilisateurs.php3:case $id = "userlist" : [snip]
Il y a plusieurs fichiers ou je dois remplacer "case $id =" par "case". Juste avec "grep -E" j'essaie de matcher "case $id =" et je ne m'en sors pas. Aucune des tentatives listées ci-dessous ne fonctionne (je devrais trouver au moins qu'il y a l'expression dans "utilisateurs.php3": (certaines sont abhérantes, mais en essayant ce qui me semble "logique", je n'obtiens pas de résultat, donc j'essaie un peu tout)
Cyrille Lefevre. -- mailto:Cyrille.Lefevre-news% supprimer "%nospam% et ".invalid" pour me repondre. remove "%nospam" and ".invalid" to answer me.
Soit ceci:
$ grep case utilisateurs.php3
utilisateurs.php3:case $id = "userlist" :
[snip]
Il y a plusieurs fichiers ou je dois remplacer "case $id =" par "case".
Juste avec "grep -E" j'essaie de matcher "case $id =" et je ne m'en sors
pas. Aucune des tentatives listées ci-dessous ne fonctionne (je devrais
trouver au moins qu'il y a l'expression dans "utilisateurs.php3":
(certaines sont abhérantes, mais en essayant ce qui me semble "logique", je
n'obtiens pas de résultat, donc j'essaie un peu tout)
Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid
supprimer "%nospam% et ".invalid" pour me repondre.
remove "%nospam" and ".invalid" to answer me.
Soit ceci: $ grep case utilisateurs.php3 utilisateurs.php3:case $id = "userlist" : [snip]
Il y a plusieurs fichiers ou je dois remplacer "case $id =" par "case". Juste avec "grep -E" j'essaie de matcher "case $id =" et je ne m'en sors pas. Aucune des tentatives listées ci-dessous ne fonctionne (je devrais trouver au moins qu'il y a l'expression dans "utilisateurs.php3": (certaines sont abhérantes, mais en essayant ce qui me semble "logique", je n'obtiens pas de résultat, donc j'essaie un peu tout)