Come "cercare e sostituire" molti file?


11

Uso il grepcomando per cercare una stringa in molti file. Esiste qualcosa di simile a "cerca e sostituisci"?

Risposte:


19

Stai cercando il sedcomando. Ad esempio, per sostituire il "cane" con "gatto" in tutti i file di testo nella directory corrente:

sed -i 's/dog/cat/' *.txt

1
Semplice e carino
Luis Alvarado,

1

mi viene in mente sed. Esempio:

sed s/cat/dog/ <input >output

Questo cerca cat in una linea e mette il cane sul suo posto nell'input del file e scrive sull'output del file.



0

Puoi usare Vim in modalità Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % seleziona tutte le righe

  2. s sostituire

  3. g sostituire tutte le istanze in ogni riga

  4. x salva e chiudi

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.