Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732

    [Bash] Cerca regexp in tutti i file di questo tipo, e se lo trovi eliminalo

    Non sapevo se postare qua o in programmazione, ma visto che si parla di bash presumo che linux sia più appropriata, come sezione

    Ho bisogno di crearmi uno script in bash, per l'appunto, che vada a cercarmi una certa stringa fra tutti i file .php presenti all'interno di una directory (o sottodirectory) e che, se la trova, me la elimini.

    Per ora sono riuscito a tirar fuori questo, che ovviamente (per chi ci capisce qualcosa ) non funziona:
    codice:
    searchterm='(<\?php @error_reporting\(0\); if \(!isset\(\$eva1fYlbakBcVSir\)\)).*(\?>)'
    replaceterm=""
    
    find -type f -name '*.php' -exec perl -pi.save -e "s/$searchterm/$replaceterm/g" "{}" ';'
    L'espressione regolare, almeno su RegExr, funziona correttamente e mi indica il pezzo di file che devo eliminare. Però una volta che lo lancio tramite bash non succede nulla.

    Dove sbaglio?

  2. #2
    premetto che non me ne intendo molto...

    ma per find non ci vuole il parametro: -regex ?

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Ma in realtà la find cerca i file .php, la regex serve dopo, quando eseguo perl sui risultati di find...

    ... credo

  4. #4
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Trovato c'ero quasi

    codice:
    #!/bin/bash
    searchterm='\<\?php \@error_reporting\(0\); if \(\!isset\(\$eva1fYlbakBcVSir.*\?\>'
    replaceterm=""
    
    find . -name '*.php' -exec grep -q eva1fYlbakBcVSir {} \; -print -exec perl -pi -w -e "s/$searchterm/$replaceterm/g" {} \;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.