The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 06-15-2009
Anteus Anteus is offline
Registered User
  
 

Join Date: Jun 2009
Posts: 54
retreiving and assigning values and manipulating string in a for loop

Hi

I am new to shell scripting and i am preparing a script.
for now i am work on a sub part of it..but i am unable to make it work.

---
the test code that i am working on
--------------------------
IFS=""
Sample_eve=`psg proc_s | grep tY`
n=0
for line in $Sample_eve
do
n=`expr $n + 1`
Sam$n=$(`echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'`)
echo $Sam$n
done
----------------------------
what i am trying to this is..
list all the process named proc_s that are currently running and are on the machine tY..
populate them in the variable Sample_eve.
and then access each line from the Sample_eve and process them on an individual basis.
but it is not happening ..for loop only goes through once..if i do not set IFS="" then line takes word by word data from the $Sample_eve...by which i cannot get seperate start time for each process. (it runs 35 times for 4 lines..i want to make it run only 4 time for 4 line).

i am doing `echo $line |awk -F" " {print $5}' |awk -F":" '{print $2}'` ..so as to get the start time for each process in minutes..then i am assigning it into array Sam so as to get the start Minute for each process.
but getting an output error like this..
for this array assignment as Test[9]: 04^J28^J04^J09: not found.
04, 28,04,09 are correctly shown they are the minutes ..but is not in a proper manner.

i am stuck with this thing .. please help me. I am unable to make the code work.

i am using the korn shell.
thanks