運營提供了一個用戶列表,csv
的文件格式,須要給這批用戶發優惠券。而線上環境已經有現成的接口,只須要構造參數、請求接口就能夠實現。shell
我習慣的作法是維護一個job
目錄,而後寫一個執行腳本,無論是go
語言、仍是shell
,讀取文件內容,而後請求接口。好比說:bash
-- job ---- send_coupon.go ---- send_badge.go
針對這種處理模式,其實還能夠直接在命令行寫shell
執行,比上述的處理要便捷不少。shell
主要操做也是兩步:curl
獲取數據的方式真的挺多的,我比較經常使用的是awk
。好比,文件的格式以下:ui
姓名, uid 張三,1 Tony,2
要獲取用戶的uid
,只須要手動刪除第一行(哈哈),而後執行:url
# 將行按,分割,而後獲取第二列 awk -F, '{print $2}' file.csv
而後就是使用curl
發起請求,以POST
請求爲例,常規的請求方式:命令行
curl -X POST http://remote.com/user/coupon -d "uid=1"
接下來,咱們只須要將curl
命令中的1替換成awk
中的數據。連續處理數據的話,咱們都使用管道符(|),但替換參數的話,須要使用xargs
命令,它有一個-I
屬性,專門用來作這件事的。code
awk -F, '{print $2}' file.csv | xargs -I {} curl -X POST http://remote.com/user/coupon -d "uid={}"
注:若是使用的是Mac
下的命令行,須要作轉譯接口