Linux shell 输入输出重定向例子

将csv文件导入mysql数据库中。

创建数据库demo:

create database demo;

使用数据库demo:

use demo;

创建表user:

create table user(
id int primary key auto_increment,
name varchar(200),
age smallint unsigned,
sex varchar(10)
) charset=utf8,engine=innodb;

创建users.csv:

touch users.csv
echo "张三,20,男,北京市" >> users.csv
echo "李四,40,男,北京市" >> users.csv
echo "王五,14,男,北京市" >> users.csv

shell脚本:

!/bin/bash

outfile=$HOME/users.sql

if [ -e $outfile ]; then
cat /dev/null > $outfile
else
touch $outfile
fi

IFS=','

while read name age sex
do
echo "insert into user(name,age,sex) values('\(name','\)age','$sex');" >> $outfile
done < ${1}

mysql -u root -D ${2} -p < $outfile
将csv文件当作参数,脚本从csv文件读取,插入到$HOME/users.sql文件中,-D指定要使用的数据库。

posted @ 2022-09-16 12:04  shigp1  阅读(87)  评论(0)    收藏  举报