amazilia Posté 31 Mars 2006 Partager Posté 31 Mars 2006 Bonjour, je suis en train de modifier à travers plusieurs dossiers une série de fichiers contenant la chaine wp_theme_switcher() pour la remplacer par wp_theme_switcher('dropdown') j'ai deux problèmes 1. comment faire cela à travers plusieurs dossiers ceci ne marche que pour le dossier courant : for file in "*.php"do 2. comment mettre wp_theme_switcher() et wp_theme_switcher('dropdown') dans sed 's/'$old_value'/'$new_value'/g' < $file.old > $file pour le moment j'en suis là mais celà ne semble pas fonctionner : #!/bin/sh$old_value = 'wp_theme_switcher()';$new_value = 'wp_theme_switcher(\'dropdown\')';for file in "*.php"do/bin/mv $file $file.oldsed 's/'$old_value'/'$new_value'/g' < $file.old > $filedone merci d'avance Philippe Lien vers le commentaire Partager sur d’autres sites More sharing options...
Spidetra Posté 1 Avril 2006 Partager Posté 1 Avril 2006 et en une ligne de Perl, un truc du style ? perl -pi -e 's|wp_theme_switcher()|wp_theme_switcher('dropdown')|' \ *.php J'ai pas de Perl sous la main, il existe surement une option pour le parcours récursif des répertoires. Lien vers le commentaire Partager sur d’autres sites More sharing options...
amazilia Posté 2 Avril 2006 Auteur Partager Posté 2 Avril 2006 bonjour, à force de chercher, j'ai trouvé ça #!/bin/shold_value="wp_theme_switcher()";new_value="wp_theme_switcher('dropdown')";SUCCESS=0 for file in $(find . -name "*.php")dogrep -q "$old_value" "$file" if [ $? -eq $SUCCESS ]# if grep -q "$word" "$filename" can replace lines 5 - 7.then /bin/mv $file $file.old sed "s/$old_value/$new_value/g" < $file.old > $filefidone Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant