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'

Condividi questo articolo:

  • Google Bookmarks
  • StumbleUpon
  • del.icio.us
  • Digg
  • Reddit
  • Wikio IT
  • Facebook
  • FriendFeed
  • MySpace
  • Twitter
  • LinkedIn
  • Mixx

Articoli forse correlati:

  1. CHMOD ricorsivo di directory o files
  2. Generare password casuali da console
  3. Tema Human per FileZilla
  4. Ripristinare rapidamente GRUB2 dopo aver reinstallato Windows
  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