Finden und Ändern von mehreren Einträgen. Hier wird z.B eine IP Adresse geändert, die in mehreren Textdateien vorkommt.
find . -type f -exec sed -i "s/192\.168\.90\.2/192\.168\.90\.1/g" {} \;
Erklärung:
- find . (Suche überall – Der Befehl find arbeitet automatisch rekursiv)
-type f (f steht für files – also nur in Dateien) - -exec (es soll etwas ausgeführt werden)
- sed -i (ist der Befehl der ausgeführt wird, das -i bedeutet, dass die Änderungen direkt in der Datei vorgenommen werden sollen.)
- „s/ (Beginn des Musters was gesucht werden soll
- 192\.168\.90\.2 (IP Adresse nach der gesucht werden soll. Das \. bedeutet nur, dass der Punkt als Zeichen interpretiert wird und nicht als Muster
- 192\.168\.90\.1 (neue IP Adresse, die anstelle der anderen verwendet werden soll)
- /g“ (Bedeutet das alle gefunden Einträge geändert werden und die Anführungszeichen zum Schluss
- {} (ist ein Platzhalter für den Dateinamen
- \; ist der Abschluß einer exec Anweisung