awk와 Curl의 결합

awk와 Curl의 결합

각 값이 사용자 이름 curl에 입력되고 각 값이 벽시계 정보에 입력되도록 명령문을 어떻게 설정합니까 ?$3$4

추가 정보

curl웹사이트의 sysadmin 애플리케이션에 사용자 이름과 벽시계 정보를 입력하려고 합니다 . 이것이 내가 지금까지 가지고 있는 것입니다

~/qacct.monthly | awk '{print $3}''{print $4}'

다음 출력을 생성합니다. (여기서 $3=owner 및 $4=wallclock)

    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. 클러스터 이름, 사용자 및 wallclock 필드에 셸 특수 문자가 포함되어 있지 않다고 가정합니다.

~/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'"
}'

또는 셸에서 모든 처리를 수행할 수 있습니다.

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'\''"}'

관련 정보