使用awt分割文本,解决excel文件内容导入数据库

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
Linux awk 命令

1. 语法

awk [选项参数] 'script' var=value file(s)awk [选项参数] -f scriptfile var=value file(s)

2. 基本用法

og.txt文本内容如下:

2 this is a test
3 Do you like awk
This's a test

2.1 用法一:

awk ‘{[pattern] action}’ {filenames} # 行匹配语句 awk ‘’ 只能用单引号
例如: 每行按空格或TAB分割,输出文本中的1、4项

 awk '{print $1,$4}' log.txt

输出结果:

 2 a
 3 like
 This's

2.2 用法二:

awk -F #-F相当于内置变量FS, 指定分割字符

# 使用","分割
 $  awk -F, '{print $1,$2}'   log.txt
 ---------------------------------------------
 2 this is a test
 3 Do you like awk
 This's a test
 10 There are orange apple
 # 或者使用内建变量
 $ awk 'BEGIN{FS=","} {print $1,$2}'     log.txt
 ---------------------------------------------
 2 this is a test
 3 Do you like awk
 This's a test
 10 There are orange apple
 # 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割
 $ awk -F '[ ,]'  '{print $1,$2,$5}'   log.txt
 ---------------------------------------------
 2 this test
 3 Are awk
 This's a
 10 There apple

3. 切割目标文本,输出sql语句

目标excel中包含的内容:将excel的内容复制到craft.txt文本
目标excel内容
txt文本
数据库字段:

inspection_type,
check_result,
depend_item,
reward_punishment_type,
default_money,
unit,
serial_number,
category,
violation_content,
reward_punishment_content

构建awk脚本语言:

$ cat craft.txt | awk '{print "insert into craft_reward_punishment_criterion(inspection_type,check_result,depend_item,reward_punishment_type,default_money,unit,serial_number,category,violation_content,reward_punishment_content) values(\""$1"\",\""$2"\",\""$3"\",\""$4"\","$5",\""$6"\",\""$7"\",\""$8"\",\""$9"\",\""$10"\");"}'

执行脚本
输出的内容:
输出内容
输出的sql
展示其中一条语句:

insert into craft_reward_punishment_criterion(inspection_type,check_result,depend_item,reward_punishment_type,default_money,unit,serial_number,category,violation_content,reward_punishment_content) values("涂装及表面处理","不合格","按“编号-违规内容”","处罚",100,"元","6.7","人","未使用完的油漆不经封盖随意放置","罚款100元");

然后数据库执行所有语句即可。
至此,excel数据成功导入数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值