amazilia Posté 31 Mars 2006 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
Spidetra Posté 1 Avril 2006 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.
amazilia Posté 2 Avril 2006 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant