OK, let's try it this way. Look:
$ cat df_out
/dev/md/ds/dsk/x20 200G 129G 69G 66% /local/ds/xp20
/dev/md/ds/dsk/x21 200G 135G 63G 69% /local/ds/xp21
/dev/md/ds/dsk/x22 200G 148G 50G 75% /local/ds/xp22
/dev/md/ds/dsk/x23 200G 128G 70G 65% /local/ds/xp23
/dev/md/ds/dsk/x24 200G 126G 72G 64% /local/ds/xp24
/dev/md/ds/dsk/x25 200G 136G 62G 69% /local/ds/xp25
/dev/md/ds/dsk/x26 200G 129G 69G 66% /local/ds/xp26
/dev/md/ds/dsk/x27 200G 130G 68G 66% /local/ds/xp27
$
$ cat myFile
11 621 2008/03/21 12:44 xp20 256000 user/foo/INBOX
806 41722 2008/03/21 13:26 xp21 256000 user/bar/INBOX
2391 115428 2008/03/21 13:26 xp22 256000 user/moo/INBOX
2452 122771 2008/03/21 12:38 xp23 256000 user/123/INBOX
638 65484 2008/03/21 12:56 xp23 256000 user/345/INBOX
139 4892 2008/03/21 12:44 xp24 256000 user/789/INBOX
398 13403 2008/03/19 14:05 xp24 256000 user/1234/INBOX
392 32448 2008/03/21 14:14 xp25 256000 user/5678/INBOX
$
$ cat tst.awk
BEGIN {
printf "%-15s%12s%10s%10s%10s%10s\n", "File System", "bytes", "used",
"avail",
"capacity", "accounts"
print
"-------------------------------------------------------------------"
}
NR==FNR{ accts["/local/ds/"$5]++; next }
/dsk/ { printf "%-15s%12s%10s%10s%10s%10s\n", $6, $2, $3, $4, $5,
accts[$6]+0 }
$
$ cat df_out | awk -f tst.awk myFile -
File System bytes used avail capacity accounts
-------------------------------------------------------------------
/local/ds/xp20 200G 129G 69G 66% 1
/local/ds/xp21 200G 135G 63G 69% 1
/local/ds/xp22 200G 148G 50G 75% 1
/local/ds/xp23 200G 128G 70G 65% 2
/local/ds/xp24 200G 126G 72G 64% 2
/local/ds/xp25 200G 136G 62G 69% 1
/local/ds/xp26 200G 129G 69G 66% 0
/local/ds/xp27 200G 130G 68G 66% 0
Is that what you wanted?
If so, just replace "cat df_out" with "df -h | sort +5" (no need for
grep):
df -h | sort +5 | awk -f tst.awk myFile -
If not, what are you looking for?
Ed.


|