suchen und ersetzen über viele Dateien

R

rolf.boessmann

Grünschnabel
Hallo, ich bin Unix-Anfänger und habe folgendes Problem:

Ich möchte in vielen Dateien auf einem Unix-Server eine Mail-Adresse ändern.
Mit vim bekomme ich das für eine Datei auch wunderbar hin, nur wenn ich alle Dateien in Verzeichnis und Unterverzeichnissen ändern möchte gelingt mir das nicht. Kann mich vielleicht jemand auf den Richtigen weg bringen?
Danke!
 
Code:
sed -ie 's!abc@def\.de!xyz@uw.de!g' *

Gruss, Xanti

edit:

rekursiv (mit Unterverzeichnissen):

Code:
find . -type f -exec sed -ie 's!abc@def\.de!xyz@uw.de!g' {} \;
 
Zuletzt bearbeitet:
Hallo, vielen Dank für die schnellen Reaktionen.

Mit jEdit komme ich nicht weiter.

Die sed-variante liefert das korrekte Ergebnis in der Standardausgabe, schreibt jedoch nicht in die Originaldateien zurück.
 
Der -i-Schalter sorgt dafür, dass die Datei direkt geändert wird. Wahrscheinlich kennt Dein sed die Option nicht. Für den Fall geht auch folgendes (ungeprüft):

Code:
for i in $(find . -type f); do sed -e 's!abc@def\.de!xyz@uw.de!g' $i > tmpfile; mv tmpfile $i; done

Gruss, Xanti
 
Hat prima funktioniert,

vielen Dank insbesondere an Xanti und ReactOS!!!
 

Ähnliche Themen

rsync Übertragung von Dateien zwischen zwei Servern

Samba 3.6.25 - OpenLDAP Setup

Suchen und Ersetzen mit regulärem Ausdruck

Spalten einer Datei in neue Datei integrieren.

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben