Когда мне нужно вытащить один стол из дампа sql, я использую комбинацию grep, head и tail.
Например:
grep -n "CREATE TABLE" dump.sql
Затем вы получите номера строк для каждой из них, поэтому, если ваша таблица находится в строке 200, а следующая после - в строке 269, я делаю:
head -n 268 dump.sql > tophalf.sql
tail -n 69 tophalf.sql > yourtable.sql
Я полагаю, вы могли бы расширить эти принципы, чтобы создать сценарий, который разбил бы все это на один файл на таблицу.
Кто-нибудь хочет пойти и сделать это здесь?
Еще один бит, который может помочь запустить цикл bash:
grep -n "CREATE TABLE " dump.sql | tr ':`(' ' ' | awk '{print $1, $4}'
Это дает вам хороший список номеров строк и имен таблиц, таких как:
200 FooTable
269 BarTable