Visualizzazione dei risultati da 1 a 5 su 5

Discussione: grep solo file .css

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,807

    grep solo file .css

    ciao.
    Ho utilizzato la funzione grep per trovare una parola contenuta in tutti i file sotto una data directory , con l'opzione -r per le sottodirectory cosi:
    codice:
    sudo grep -r "sf_admin_text sf_admin_list_th_id" /
    , come faccio a ricercare questa parola solo nei file con estensione css?
    Grazie

  2. #2
    codice:
    find /your/path -type f -iname "*.css" -exec grep -l "sf_admin_text sf_admin_list_th_id" {} \;
    Con questo comando prima isoli i file CSS e poi chi guardi dentro. L'opzione -l di grep serve a stampare il nome del file, cosa che non farebbe perche` i file vengono processati uno per volta. Se il tuo grep non ha l'opzione -l usa questo comando

    codice:
    find /your/path -type f -iname "*.css" -exec grep "sf_admin_text sf_admin_list_th_id" /dev/null {} \;
    Al posto di /your/path metti la directory dove sono contenuti i file css (e` ricorsivo).

    Ciao.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,807
    find /your/path -type f -iname "*.css" -exec grep -l "sf_admin_text sf_admin_list_th_id" {} \;

    Intanto grazie, poi ,
    mi puoi spiegare cosa fa la sintassi {} \ ?
    e un altra cosa , uso ubuntu e se metto davanti al comando la clausola sudo non mi trova niente ed esce subito .senza a differenza funzia.
    ciao.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,807
    up

  5. #5
    {} e` il nome del file da processare. mentre \; e` dove termina il comando seguito da -exec di find.

    Devi leggere il comando in questo modo

    find /your/path cerca ricorsivamente in /your/path

    -type f solo i file regolari

    -iname "*.css" che terminano per .css (ignora il case maiuscole/minuscole)

    -exec grep -l "sf_admin..." {} \; per ogni file che trovi esegui grep {} sta per il nome del file trovato

    Per sudo non saprei... non c'e` motivo per cui non debba funzionare, a meno che non ci siano dei caratteri che danno errore o qualcosa di simile.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

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 © 2020 vBulletin Solutions, Inc. All rights reserved.