Shell 操作数据

字数 303阅读 18

1、准备数据

利用Numbers 输入测试数据,并导出.csv格式(命名为test.csv),如下图所示


测试数据

2、编写脚本

outfile='test.sql'

#定义预分割 符

IFS=','

while read name sex age mv yd phone

do

     cat >> $outfile << EOF

     INSERT INTO t_test (name,sex,age,mv,yd,phone)VALUES('$name','$age','$mv','$yd','$phone');

     EOF

done < ${1} #输入进来

3、运行脚本查看结果

./hello.sh test.csv


举例图



4、语法解释(3个关键的重定向)

第一个:输入重定向

done < ${1}

${1}  输入的第一个参数是恰好是一个文件,read通过循环一行行读取内容

同时read非常智能还会通过IF进行字符分割,分割之后会自动给参数赋值

第二个:输出重定向

cat >> test.sql

以上语法:等待输入内容,然后输出到指定的重定向文件//cat fileB.sh 默认是输出  而 cat >> fileB.sh 是在fileb.sh上叠加输入 在终端会等待输入内容,敲回车

第三个:输入重定向<< 

(cat >> test.sql)<<sql语句   (EOF 输入内容标记,开始标记 、结束标记)

推荐阅读更多精彩内容