用sed将SQL脚本转换为csv文档

由于前几天总是会收到制作数据库文档的任务,而且数据库表的数量庞大,于是我就想偷懒,写个脚本将SQL脚本转换成csv文档再用excle稍微美化一下粘到word中。

grep -E '[-,()]' $1

先用grep将带有-,()这些符号的行取出

 接上条:| sed -e 's/[A-Z]*/\L&\E/g'

用sed将全文大写转成小写

 -e 's/^\s*create\s*table.*\.//g' 

将含有   create   table   .的行去掉

-e 's/\s*(\s*$/\n/g' 

将  (  替换成换行符

-e 's/^\s*);\s*$//g' 

将以仅含 ); 的行去掉

-e 's/,//g' 

将,去掉

-e 's/^\s*\t*\s*//g' 

将以空白开头的行中的空白去掉

-e 's/not\s*null/not_null/g' 

将not null换为not_null

-e '/\<dt/'d

将含有以dt为开头的单词的行去掉

 -e 's/\s\s/ /g' 

将两个空格换成一个

-e 's/\s/\t/g'

将空格换成table

 -e 's/\t/\t/g' 

将table也换成table

-e 's/current\s*timestamp/current_timestamp/g' 

将current  timestamp 换为current_timestamp

-e 's/with\s*default\t//g' 

将with default删掉

-e 's/\(default\t.\)\t\(not_null\)/\2\t\1/g'

将default与not_null互换位置

 -e 's/default\t//g' 

将default删除

-e 's/primary\s*\key/\tprimary_key/g'

将primary key替换为primary_key

 -e 's/\t/,/g' > $2.csv

最后将table都替换为逗号,并输出到.csv文件

转载于:https://www.cnblogs.com/lcya86/p/3205624.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值