缺乏导入数据权限,SQLServer创建测试数据(二)

2014-11-24 08:38:32 ? 作者: ? 浏览: 2
的将每个列分隔出来;

5.本文还想告诉读者的是多使用Linux吧,并且学会一门脚本语言,这会让你的工作事半功倍;

6.本文是基于没有导入数据的权限的情况下做的,如果有该权限,自然很简单,如果没有,那本文还是很有参考价值。其实本文提供的就是一种思路,如何把问题拆分、如何巧妙的拼接文本。使用到的核心技术就是Linux的Shell,比如awk、sed的用法。

最终的一键脚本

#!/bin/bash
#FileName:auto_import_data.sh
#Desc:Auto Import DataTo MS SQL
#Date:2014-3-14 17:53:12
#Author:Robin
 
#1.分离数据
awk -F","'{print $1}' source.txt > source1.txt
awk -F","'{print $2}' source.txt > source2.txt
awk -F","'{print $3}' source.txt > source3.txt
awk -F","'{print $4}' source.txt > source4.txt
 
#2.在行首和行尾添加单引号
sed 's/\ \+$//'source1.txt -i
sed 's/^/yy/g'source1.txt -i
sed 's/$/zz/g'source1.txt -i
sed"s/yy/\'/g" source1.txt -i
sed"s/zz/\'/g" source1.txt -i
 
sed 's/^/yy/g'source2.txt -i
sed 's/$/zz/g'source2.txt -i
sed "s/yy/\'/g"source2.txt -i
sed"s/zz/\'/g" source2.txt -i
 
sed 's/^/yy/g'source3.txt -i
sed 's/$/zz/g'source3.txt -i
sed"s/yy/\'/g" source3.txt -i
sed"s/zz/\'/g" source3.txt -i
 
sed 's/^/yy/g'source4.txt -i
sed 's/$/zz/g'source4.txt -i
sed "s/yy/\'/g"source4.txt -i
sed"s/zz/\'/g" source4.txt -i
 
#3.合并文件
paste -d ","source1.txt source2.txt source3.txt source4.txt > result.txt
 
#4.拼接为最终的插入语句
sed 's/^/INSERT INTO ##tempVALUES(/g' result.txt -i
sed 's/$/);/g'result.txt -i
-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: