数据库备份 - 按表名拆分大文本文件

时间:2016-06-05 04:23:41

标签: linux database postgresql shell import

我有一个数据库备份,它是一个使用模式的大文本文件:

TABLE_USER£John£32£Testing
TABLE_CAR£Ford£Ford T
TABLE_ADDRESS£123£Something£another thing£ABC
TABLE_USER£Paul£40£hello
TABLE_ADDRESS£59£Street ABC£Brazil£test

记录由'£'分隔,但第一个位置代表表名。 我希望按照每个记录的初始值(删除表名)按行拆分:

TABLE_USER.TXT

John£32£Testing
Paul£40£hello

TABLE_ADDRESS.TXT

123£Something£another thing£ABC
59£Street ABC£Brazil£test

我想在linux上使用shell脚本进行拆分。有人能帮我吗? 之后,我将使用'copy'命令导入Postgres数据库。

2 个答案:

答案 0 :(得分:1)

scala -Xprint:typer -e "for { ... } yield k->v"

答案 1 :(得分:1)

试试这个:

while IFS='£' read -r table data;do
  echo "$data" >> "$table".TXT
done < file