Visualizzazione risultati 1 fino 7 di 7

Discussione: Sostituire una stringa in tanti file

  1. #1
    Guest

    Predefinito Sostituire una stringa in tanti file

    Come posso fare una sostituzione di stringa con una altra stringa in TUTTI i file presenti in una cartella (e sottocartelle)..?

  2. #2
    Guest

    Predefinito

    da terminale: «sed s/<testo>/<nuovotesto>/g *.txt». Al momento non mi viene come farlo fare a tutte le sottocartelle, ergo devi farlo a mano. Fai un backup dei file prima.

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    non manca un -i per l'edit in place ? e per fare tutti i file, si può usare con find ... -exec ...

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut
    non manca un -i per l'edit in place ? e per fare tutti i file, si può usare con find ... -exec ...
    Scusami non ho capito.. mi potresti fare un esempio?

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    man find sia la tua guida

    cerchi i file nella directory corrente (e sotto-) con find . -name <pattern> -exec <comando> e come comando usi la riga suggerita sopra, cioé sed con un'espressione regolare per sostituire la stringa. Per usare sed, man sed

    sed -i.bak s/stringa/sostituzione/g nomefile .bak è il suffisso che vuoi aggiungere alla copia di backup che sed può fare in automatico.

    tutto assieme, qualcosa del genere:
    Codice:
     find . -name *.php -exec sed -i.bak s/perchè/perché/g {} ';'
    dove {} verrà sostituito da find man mano, con tutti i nomi di file trovati, e ';' serve a chiudere il comando sed, senza chiudere il find :-)

    ah, dove man non basta, spesso info aiuta

    edit: il simboletto di icq del tuo account, è una reliquia o funzia ?
    Ultima modifica di dreadnaut : 03-03-2007 alle ore 17.27.50

  6. #6
    Guest

    Predefinito

    Ti ringrazio sei stato molto esauriente ma... quanto è complicato...

    P.S. : L'account ICQ ce l'ho ancora ma non lo uso praticamente mai.. Ho GAIM ben configurato ma prefesco usare aMSN..

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da attorianzo
    Ti ringrazio sei stato molto esauriente ma... quanto è complicato...
    hahahahahaahahaha (etc), no questo non è complicato, c'è di molto peggio

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •