Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/01/2010, à 13:11

Kalten

[script shell] Fonctionne mais pas récursivement

Bonjour à tous,

Pour la petite histoire j'ai un site sous joomla qui s'est fait piraté... Le script m'a ajouté à la fin de chaque fichier du javascript qui affiche un lien vers des sites pornos ou autres.
Pas très classe hmm

Donc j'ai fait/trouvé un script qui enlève ça, mais je n'arrive pas à la faire récursivement.

Voici le script qui fonctionne :

#!/bin/bash
     for fl in *.*; do
     mv $fl $fl.old
     sed 's/<script>\/\*Exception.*/ /' $fl.old > $fl.old2
     sed 's/<!--5b799dd68efbb52764dab380752d4939-->/ /' $fl.old2 > $fl
     rm -f $fl.old2
     rm -f $fl.old
     done

Et recursivement j'ai trouvé ça sur un post du forum mais je n'arrive pas à le faire fonctionner :

#!/bin/bash
     for fl in ` find . -name *.php`; do
     mv $fl $fl.old
     sed 's/<script>\/\*Exception.*/ /' $fl.old > $fl.old2
     sed 's/<!--5b799dd68efbb52764dab380752d4939-->/ /' $fl.old2 > $fl
     rm -f $fl.old2
     rm -f $fl.old
     done

Il me renvoit :

find: les chemins doivent précéder l'expression : index.php
Utilisation : find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [chemin...] [expression]

Voilà je pense que ça ne doit pas etre grand chose mais je ne connais pas bien le shell, si quelqu'un pouvait me donner un coup de main à nettoyer ces fichiers big_smile

Merci beaucoup

Hors ligne

#2 Le 24/01/2010, à 13:29

Ph3nix_

Re : [script shell] Fonctionne mais pas récursivement

#!/bin/bash

find . -name *.php | while read fl;do
mv $fl $fl.old
sed 's/<script>\/\*Exception.*/ /' $fl.old > $fl.old2
sed 's/<!--5b799dd68efbb52764dab380752d4939-->/ /' $fl.old2 > $fl
rm -f $fl.old2
rm -f $fl.old
done

Ton code fonctionne chez moi, essayes celui-la on sait jamais


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#3 Le 24/01/2010, à 14:31

credenhill

Re : [script shell] Fonctionne mais pas récursivement

hello
essaye avec des " pour -name
for fl in ` find . -name "*.php"`; do

Dernière modification par credenhill (Le 24/01/2010, à 14:32)

Hors ligne