Wie kann man viele Dateien suchen und ersetzen?


11

Ich benutze den grepBefehl, um in vielen Dateien nach einer Zeichenfolge zu suchen. Gibt es etwas Ähnliches wie "Suchen und Ersetzen"?

Antworten:


19

Sie suchen nach dem sedBefehl. So ersetzen Sie beispielsweise den "Hund" in allen Textdateien im aktuellen Verzeichnis durch "Katze":

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

1
Einfach und nett.
Luis Alvarado

1

sed kommt mir in den Sinn. Beispiel:

sed s/cat/dog/ <input >output

Dies sucht nach Katze in einer Zeile und setzt Hund an seinen Platz in der Dateieingabe und schreibt in die Dateiausgabe.



0

Sie können Vim im Ex-Modus verwenden:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % Wählen Sie alle Zeilen aus

  2. s Ersatz

  3. g Ersetzen Sie alle Instanzen in jeder Zeile

  4. x speichern und schließen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.