Rechercher / Remplacer plusieurs fichiers linux
Fermé
sluminure
-
14 nov. 2012 à 19:54
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 15 nov. 2012 à 00:23
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 15 nov. 2012 à 00:23
A voir également:
- Rechercher / Remplacer plusieurs fichiers linux
- Rechercher ou entrer l'adresse - Guide
- Rechercher et remplacer word - Guide
- Renommer plusieurs fichiers - Guide
- Remplacer disque dur par ssd - Guide
- Wetransfer gratuit fichiers lourd - Guide
1 réponse
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
14 nov. 2012 à 22:56
14 nov. 2012 à 22:56
Voici un script en Perl qui supprime tes 'eval(base64_decode' de tous les fichiers '.php' du répertoire courant; toutefois il ne faut pas qu'il y ait des 'eval(base64_decode' à ne pas supprimer:
Bonne continuation
#!/usr/bin/perl -w use strict; my ($fich, $hand, $flag); opendir ($hand, ".") || die "impossible d'ouvrir ".": $!"; while ($fich = readdir $hand) { if ( (-f "$fich") && (-T "$fich") && (-w "$fich") ) { if ($fich=~m/\.php$/) { if (open (FLect, "$fich") && open (FEcrt, ">${fich}tmp")) { $flag = 0; while (<FLect>) { $flag = 1 if (/eval\(.*?\)/); s/eval\(.*?\)//g; print FEcrt; } close (FLect); close (FEcrt); if ($flag) { # La recherche a abouti -> Renommer le nouveau fichier unlink "$fich"; rename "${fich}tmp", "$fich"; } else { # La recherche n'a pas abouti -> Effacer nouveau fichier unlink "${fich}zzz"; } } } } } close ($hand);Je ne suis pas très balaise en Perl; on peut, sans aucun doute faire beaucoup plus simple.
Bonne continuation
15 nov. 2012 à 00:23
Mille excuses.