使用 awk 解析單行

使用 awk 解析單行

這是 qacct -o 的輸出

Total : OWNER WALLCLOCK UTIME STIME CPU MEMORY IO IOW         ========================================================================================================================= 
Total : adeluca 1947 45.550 8.325 53.875 3.079 17.268 0.000 
Total : athardin 1 0.039 0.056 0.095 0.000 0.000 0.000 
Total : axelsone 35398815 34902115.362 37631.812 34939747.173 33441742.534 11432.294 0.000 
Total : bfinley 1875 6654.039 108.112 6762.151 2867.369 33.136 0.000 
Total : bihe 12018070 6479035.116 1168497.282 7647532.398 4463769.624 478955.800 0.000 
Total : brogers 108710282 108181275.073 46824.068 108228099.141 1741423.539 2.129 0.000 
Total : ckbui 10 0.006 0.006 0.012 0.000 0.000 0.000 
Total : ctokheim 114192 15177.837 460.056 15898.657 11150.583 208.076 0.000 
Total : dliang 6483476 8023175.362 80187.624 13133457.012 12167904.607 472.620 0.000 
Total : gaolong 3395364 3382687.178 5792.021 3388479.200 6904718.986 11.328 0.000 
Total : htrn 1 0.016 0.006 0.022 0.000 0.000 0.000 

現在我有

qacct - o | awk 'NR>2 print {$1}'

這樣做的目的是提取單一用戶名,如下所示:

adeluca
athardin
axelsone
bfinley
bihe
brogers
ckbui
ctokheim
dliang
gaolong
htrn

我想要的是能夠解析列表,並且對於每個用戶都能夠提取每個單獨的用戶並將其放入另一個需要其用戶名的檔案中。

例如。

~/qacct.每月阿德盧卡

所以我最終想要的是能夠透過 qacct -o 進行解析,取得單一使用者並能夠呼叫類似的東西

〜/qacct.monthly $users

這樣我就不必每次都手動放入各個使用者。

答案1

for i in `qacct - o | awk 'NR>2 print {$1}'`
do
  ~/qacct.monthly $i
done

相關內容