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指定要使用的数据库。