我將如何設定我的curl
語句,以便將每個值放入$3
使用者名稱中,並將每個值$4
放入掛鐘資訊中?
一些進一步的信息
我正在嘗試將用戶名和掛鐘資訊及其curl
放入網站上的系統管理應用程式中。這是我到目前為止所擁有的
~/qacct.monthly | awk '{print $3}''{print $4}'
產生以下輸出:(其中$3
=所有者和$4
=掛鐘)
OWNER
WALLCLOCK
===================================================================
adeluca
1610
athardin
1
axelsone
18707336
bfinley
1875
bihe
9918667
brogers
108710282
ckbui
10
ctokheim
2445
dliang
6470745
gaolong
3395364
htrn
1
jchen12
13475380
jdereus
1086617
jiangp
24343174
jinkwang
30733663
johnsonhj
58967432
joneskl
32085365
jongkwki
47160388
jwpark
101601184
keefeh
2
ktan
13484388
litd
2031229
lteng
3882281
luhon
32500508
lvantol
66959
lwen
1272867
mama
4635850
mariettaj
44247412
msscully
64419431
nkumr
6
piersonr
454978875
rhylock
187877
rjconnel
57
root
65
sbonett
2388132
shishen
114025934
tbair
1363490
tnath
9196673
wanj
53041427
wassinkt
376268
wdeng
949336
wpmcdowe
5360475
zeiene
159442263
zhaok
3609429
這是我的curl
聲明:
curl -d 'cluster=<CLUSTER>&username=<USER>&wallclock=<WALLCLOCK>' \
'https://www-dev.****.****.edu/****SysAdmin/****sysadmin/clusterusage/rest/update.html';
答案1
我假設“qacct.monthly”打印 2 個您不想要的標題行:
url='https://www-dev...'
cluster=CLUSTER # or whatever
~/qacct.monthly | awk 'NR > 2 {print $3, $4}' | while read owner clock; do
curl -d "cluster=${cluster}&username=${owner}&wallclock=${clock}" "$url"
done
答案2
您可以使 awk 執行curl
。假設叢集名稱以及使用者和掛鐘欄位不包含任何 shell 特殊字元:
~/qacct.monthly | awk -v cluster='somename' 'NR > 2 {
system "curl -d 'cluster=" cluster "&username=" $3 "&wallclock=" $4 "' "
"'https://www-dev.****.****.edu/****SysAdmin/****sysadmin/clusterusage/rest/update.html'"
}'
或者,您可以在 shell 中進行所有處理。
cluster='somename'
~/qacct.monthly | tail -n +3 |
while read -r header sep owner wallclock rest; do
curl -d "$cluster&username=$owner&wallclock=$wallclock" \
'https://www-dev.****.****.edu/****SysAdmin/****sysadmin/clusterusage/rest/update.html'
done
答案3
~/qacct.monthly | awk '{print "curl -d '\''cluster=<CLUSTER>&username=<"$3">&wallclock=<"$4">'\'' '\''https://www-dev.****.****.edu/****SysAdmin/****sysadmin/clusterusage/rest/update.html'\''"}'