使用shell脚本将多个CSV加载到MySQL中

时间:2015-08-14 19:05:31

标签: mysql shell csv

在目录/ mylog /里面我有一堆CSV文件。每个CSV文件只有一行数据。我需要将这些数据输入MySQL数据库。

一行的例子是:

2015-08-14 00:00:00,HOSTNAME,10271kB,17182kB,92874kB,10%,/dev/disk1,/

我需要从每个文件大小中删除'kB'并从百分比字段中删除%。我还需要确保日期时间和主机名始终是唯一的,并且不会放入重复的条目。

这是我到目前为止开始写的内容。但我显然缺少要使用的数据库名称并删除了kB和%。如果还有其他错误或遗失,请告诉我。还有一个事实是每次调用mysql,有没有办法做多个加载数据?

Shell脚本:

#!/bin/bash

for f in /var/log/mylog/*.csv
do
mysql -e "load data local infile '"$f"' into table myTable fields TERMINATED BY ',' LINES TERMINATED BY '\n'"  -u myUser --password=myPassword --local-infile
done

0 个答案:

没有答案