私は初めてbashに触れたので、初心者の質問についてご了承ください。
これは私のカール呼び出しです。
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
この例では、ユーザーのうちの1人だけを抽出しますが、情報を解析し、その月のクラスタ内のすべてのユーザーからすべてのユーザー名と壁時計情報を抽出したいと思います。
私はこれを月に一度実行するようにスクリプトに入れたいと思います(明らかにクローンタスクを通して)
答え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)