Es kommt immer mal wieder vor, dass ich bestimmte Tabellen aus einem MySQL-Dump extrahieren muss, um sie z.B. neu einzuspielen. Bei kleinen Datenbanken ist es kein Problem, die entsprechende Tabelle per Hand zu suchen. Wenn der Dump jedoch 1GB groß ist, geht ein Editor schon schnell mal in die Knie.

Die Lösung ist einfach: Mittels sed kann mal leicht Teile einer Textdatei extrahieren:

Hier werden die INSERT-Statements der Tabelle start_tabelle extrahiert und zwar bis zum Beginn von end_tabelle. Bei dieser handelt es sich um den nächsten Eintrag im Dump. Das Beispiel zeigt bereits die grundlegenden Ansätze, denke ich.

Will man nur die Inserts einer Tabelle extrahieren genügt folgender Ausdruck:

Viel Spaß beim Probieren!