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  阅读(66)  评论(0编辑  收藏  举报