arrays in ksh.

Okay,
This is where I have reached uptil yet .

All you need to know is that I made an array and that I need to access it's variables which i'm unable to .
Pls help.


#!/usr/bin/ksh
#CREATE AN ARRAY TO STORE OWNERS TO COMPARE
set -A owners `ls -lR "${1}" 2>/dev/null | sed 1d | awk '{print $3}' | sort | uniq`

#LOOP OVER THE ARRAY TO GET THE OWNERS ONE BY ONE TO COMPARE
i=0
while [ $i -lt ${#owners[*]} ]
do
        `ls -lsR "${1}" | awk '/$owners[$i]/ {disk_usage += $6} END {print $owners[$i], " : ", 1*disk_usage, " MB"}'`

        ((i=i+1))
done
Shweta_SinghAsked:
Who is Participating?
 
TintinConnect With a Mentor Commented:
Are you wanting to use an array because you feel it is the best way to acheive the results or because you have to?

The above script can all be simplified greatly and doesn't need to use arrays.
0
 
ahoffmannConnect With a Mentor Commented:
you're mixing shell and awk scripting without using proper quotes, I guess you want to write:

        `ls -lsR "${1}" | awk '/'${owners[$i]}'/ {disk_usage += $6} END {print '${owners[$i]}', " : ", 1*disk_usage, " MB"}'`

BTW, hope you know what's the purpose and resulting behaviour of backticks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.