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.monthly アデルカ

私が最終的に望んでいるのは、qacct -oで解析して個々のユーザーを取得し、次のようなものを呼び出すことです。

~/qacct.monthly $users

毎回個々のユーザーを手動で入力する必要がなくなります。

答え1

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

関連情報