Comment faire des remplacements dans des fichiers (sed + regex)
Résolu/Fermé
vinok972
Messages postés
4
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
-
4 déc. 2012 à 11:25
vinok972 Messages postés 4 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 4 décembre 2012 - 4 déc. 2012 à 12:37
vinok972 Messages postés 4 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 4 décembre 2012 - 4 déc. 2012 à 12:37
A voir également:
- Comment faire des remplacements dans des fichiers (sed + regex)
- Wetransfer gratuit fichiers lourd - Guide
- Renommer des fichiers en masse - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment faire un fichier pdf - Guide
- Comment ouvrir un fichier epub ? - Guide
4 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
4 déc. 2012 à 11:32
4 déc. 2012 à 11:32
Salut,
Ne connaissant pas trop le "php", pour ne pas dire pas du tout, j'aimerai savoir si des crochets peuvent se trouver ailleurs dans la syntaxe que dans des variables tableaux ?
Ceci afin de généraliser et d'optimiser la syntaxe avec "sed" ;-)
Ne connaissant pas trop le "php", pour ne pas dire pas du tout, j'aimerai savoir si des crochets peuvent se trouver ailleurs dans la syntaxe que dans des variables tableaux ?
Ceci afin de généraliser et d'optimiser la syntaxe avec "sed" ;-)
vinok972
Messages postés
4
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
4 déc. 2012 à 11:51
4 déc. 2012 à 11:51
euh.. normalement non.. pas que je sache :)
vinok972
Messages postés
4
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
4 déc. 2012 à 11:54
4 déc. 2012 à 11:54
on peut avoir $truc["machin"][bidule]["chouette"]
qu'il aurait fallu remplacer par $truc['machin']['bidule']['chouette']...
Là ça aurait été parfait, mais bon je ne veux pas trop vous embêter non plus :D
qu'il aurait fallu remplacer par $truc['machin']['bidule']['chouette']...
Là ça aurait été parfait, mais bon je ne veux pas trop vous embêter non plus :D
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
4 déc. 2012 à 11:58
4 déc. 2012 à 11:58
Ok, donc voilà 2 syntaxes (la 2nd au cas ou on pourrait avoir des crochets ailleurs) :
En combinant avec find :
$ cat plop $_POST[toto] $_REQUEST[tata] $_SESSION[tutu] $tab[truc] $ sed -r "s/\[([^]]*)\]/\['\1'\]/g" plop $_POST['toto'] $_REQUEST['tata'] $_SESSION['tutu'] $tab['truc'] $ sed -r "s/(\\\$_*[[:alpha:]]*\[)([^]]*)\]/\1'\2'\]/g" plop $_POST['toto'] $_REQUEST['tata'] $_SESSION['tutu'] $tab['truc'] $
En combinant avec find :
find . -name "*.php" -exec sed -i.old -r "s/\[([^]]*)\]/\['\1'\]/g" {} \;
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
4 déc. 2012 à 12:28
4 déc. 2012 à 12:28
Cette syntaxe devrait régler les problèmes de quotes doubles :
sed -r "s/\[\"/\[/g;s/\"\]/\]/g;s/\[([^]]*)/\['\1'/g"
vinok972
Messages postés
4
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
Modifié par vinok972 le 4/12/2012 à 12:37
Modifié par vinok972 le 4/12/2012 à 12:37
>> PERFECT zipe31 ;)
Bravo !! Merci beaucoup !
A tout hasard, je suis en train de migrer de php5.2 à 5.4. S'il existe quelqu'un qui a bidouillé un script qui regle les problemes de compatibilité dans tous les fichiers php d'une application, je suis preneur !! :)
Merci encore !
Bravo !! Merci beaucoup !
A tout hasard, je suis en train de migrer de php5.2 à 5.4. S'il existe quelqu'un qui a bidouillé un script qui regle les problemes de compatibilité dans tous les fichiers php d'une application, je suis preneur !! :)
Merci encore !