我正在使用cURL API在API服务上提交文件,并为提交的文件返回一个名为taks_id
的内容。
#submitter.sh
creation_date=$(date +"%m_%d_%Y")
task_id_file="/home/results/$creation_date"_task_ids".csv"
for i in $(find $1 -type f);do
task_id="$(curl -s -F file=@$i http://X.X.X.X:XXXX/api/tiscale/v1/upload)"
final_task_id=$(echo $task_id | grep -o 'http\?://[^"]\+')
echo "$final_task_id" >> $task_id_file
done
#Result ( 10_13_2016_task_ids.csv )
http://192.168.122.24:8080/api/tiscale/v1/task/17
http://192.168.122.24:8080/api/tiscale/v1/task/18
http://192.168.122.24:8080/api/tiscale/v1/task/19
运行方法:
$./submitter.sh /home/files/pdf/
现在,使用[find $ 1 -type f]逻辑将获得提到文件名的完整路径。
#find /home/files/pdf -type f
/home/files/pdf/country.pdf
/home/files/pdf/summary.pdf
/home/files/pdf/age.pdf
如何添加文件名以及cURL API响应结果。例如,在提交"/home/files/country.pdf"
时,API可能会为task_id提供http://192.168.122.24:8080/api/tiscale/v1/task/
17'`。
期待结果:
country.pdf,http://192.168.122.24:8080/api/tiscale/v1/task/17
summary.pdf,http://192.168.122.24:8080/api/tiscale/v1/task/18
age.pdf,http://192.168.122.24:8080/api/tiscale/v1/task/19
我是Bash的初学者,有关如何实现这一目标的任何建议吗?