我对 bash 很陌生,所以请原谅我的新手问题。
这是我的 curl 调用:
curl -d 'username=cdaniels&wallclock=391324502' 'https://www-dev.***.***.edu/clusterusage/rest/update.html';
~/qacct.monthly
它从具有以下格式的文件中提取
Total : OWNER WALLCLOCK UTIME STIME CPU MEMORY IO IOW
Total : ==========================================================================================================================
Total : cdaniels 391324502 0.195 0.066 0.261 0.000 0.007 0.000
Total : jlinger 1 0.039 0.056 0.095 0.000 0.000 0.000
Total : lbsome 18707336 18675574.761 21433.535 18697008.296 10604793.658 5527.986 0.000
该示例仅提取其中一个用户,但我希望它解析信息并从该月集群上的所有用户中提取所有用户名和挂钟信息。
我想将其放入脚本中,以便它每月执行一次(显然是通过 cron 作业)
答案1
像下面这样的东西应该有效:
#!/bin/bash
while IFS= read -r data; do
curl -d "${data}" 'https://www-dev.***.***.edu/clusterusage/rest/update.html'
done < <(awk 'NR>2 { print "username="$3"&wallclock="$4 }' users)