Lokale Pfade in SQL-Dumps ändern mit sed

3. November 2012 / Bash / Code / mysql

×Info: This post is older than 2 years! Displayed information may be outdated!

Beim dumpen einer Livesystem-DB kann es manchmal erforderlich sein, sämtliche DB-Pfade zu ändern. Da schon das Öffnen einer zig-MB-SQL-File manchen Texteditor zum Abrauchen bringt, kommt hier der Stream EDitor (sed) ins Spiel.

Das Ganze sieht dann so aus:

# besser
cat file.sql | sed s/www\.domain\.de/www.domain.local/g > file_new.sql

Das kleine g am Ende des Patterns ist wichtig: es sorgt dafür, dass (gerade bei sehr langen INSERTS) mehrere Treffer pro „Zeile“ search-and-replaced werden. Das kleine s heißt übrigens substitute. Soll Groß-/Kleinschreibung egal sein, muss man hinten gi (insensitive) statt g setzen.