JD's Blog: no, Scrubs non c'entra proprio niente.

Cercare una stringa all’interno di files

Tango TerminalMettendo su questo blog mi è capitato di dover cercare una stringa (il nome di un’immagine .gif) all’interno dei vari files .php di WordPress. Sotto Windows avrei utilizzato il fido Total Commander,non essendoci però una versione per Linux sono ricorso alla vecchia e cara console:

find . -name "*.php" -type f -print | xargs grep -i "immagine.gif"

In comando soprastante restituisce il nome del file seguito dalla frase che contiene la stringa e si utilizza nel seguente modo:

find {PERCORSO} -name "{ESTENSIONE}" -type f -print | xargs grep -i "{TESTO}"

Se non vi interessa la frase che contiene la stringa ma solo il nome del file potete utilizzare questa variante:

find {PERCORSO} -name '{ESTENSIONE}' -print0 | xargs -r -0 grep -l '{TESTO}'

Ecco un esempio:

find /var/www -name '*.php' -print0 | xargs -r -0 grep -l '.ico'

Articoli forse correlati:

  1. CHMOD ricorsivo di directory o files
  2. Generare password casuali da console
  3. Tema Human per FileZilla
  4. Ripristinare le icone nei menu e nei pulsanti in Karmic Koala
  5. Creare lanciatore per JDownloader

  • Se non ti interessa necessariamente filtrare per tipo di file (se devi greppare in una directory del sito è improbabile trovare quello che cerchi in file NON .php :D ) ti basta :

    grep -ri “testo” directory

    Altrimenti, non è necessario usare xargs :

    find /var/www -name “*.php” -exec grep -i ‘testo’ {} \;

    Commento inserito utilizzando Google Chrome 4.0.226.0 Google Chrome 4.0.226.0 su GNU/Linux GNU/Linux
  • PS: Ovvio che se cerchi anche il nome del file la tua soluzione è la migliore :)

    Commento inserito utilizzando Google Chrome 4.0.226.0 Google Chrome 4.0.226.0 su GNU/Linux GNU/Linux

Puoi seguire i commenti a questo articolo anche attraverso il feed RSS 2.0