数据格式为: 47602,5000740,8064346,46,女,2019-11-07T23:53:15.000Z,82292084
循环csv数据并请求http的post接口, 我这里使用的是postman工具访问
参数为要读取的文件的全路径
#!/bin/bash
# Only 1 parameter !
if [ $# != 1 ];then
echo " Usage: .\read.sh filename!";
exit
fi
# check the file !
if ! [ -f $1 ];then
echo "file does not exist!"
exit
elif ! [ -r $1 ];then
echo "file can not be read !"
exit
fi
# PRESS ANY KEY TO CONTITUE !
read -p "begin to read $1 "
# set IFS="\n" , read $1 file per line !
IFS="
"
# i is the line number
i=2
for line in `cat $1`
do
echo line $i:$line
bkey=`echo $line | cut -d ',' -f1`
csid=`echo $line | cut -d ',' -f2`
memberid=`echo $line | cut -d ',' -f3`
age=`echo $line | cut -d ',' -f4`
gender=`echo $line | cut -d ',' -f5`
eventtime=`echo $line | cut -d ',' -f6`
ordernum=`echo $line | cut -d ',' -f7`
day=`echo $eventtime | cut -d T -f1`
time=`echo $eventtime | cut -d T -f2 | cut -d . -f1`
datetime=$day' '$time
neweventtime=`date -d "+ 8 hour $datetime" +'%Y-%m-%d %H:%M:%S'`
echo "event_time "$neweventtime
data=`echo [{\"event_time\": \"$neweventtime\", \"customer_shop_id\": \"$csid\",\"member_id\": \"$memberid\",\"member_age\": $age,\"member_gender\": \"$gender\",\"ordernum\": $ordernum}]`
echo $data
curl -X POST \
http://localhost:80/visioncenter/crm/v1/memberinfo \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Authorization: Bearer xxxxxxxxxx' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Length: 205' \
-H 'Content-Type: application/json' \
-H 'Host: localhost:80' \
-H 'Postman-Token: e30393e0-4096-4ded-b290-aa42ce48a8a0,f4ca555b-950d-4f75-af82-3c3ca33a014d' \
-H 'User-Agent: PostmanRuntime/7.19.0' \
-H 'cache-control: no-cache' \
-d $data
let "i=$i+1"
echo -e "\n \n"
done
echo "Finished reading file by line ! "