L.V.Gandhi wrote:
On Fri, Sep 5, 2008 at 8:00 AM, David Parker <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    ----- Original Message -----
    From: "L.V.Gandhi" <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    Date: Thursday, September 4, 2008 9:50 pm
    Subject: error in script
    To: debian-user <debian-user@lists.debian.org
    <mailto:debian-user@lists.debian.org>>

     > I have a script as follows
     > #!/bin/bash
     > rm -f ~/stock/flstock.csv
     > grep FUTSTK ~/stock/today/$1 |grep "25/09/2008"|cut -s -d,
    -f9|sort -nr > temp
     > i=0
     > for trv in $(cat temp)
     > do
     >     grep $trv ~/stock/today/$1 >> ~/stock/flstock.csv
     >     i=$((i+1))
     >     if [ $i -eq 20 ]
     >     then
     >     exit 0
     >     fi
> done > rm -f temp
     > cat ~/stock/flstock.csv |cut -s -d, -f2|sort >>
    ~/stock/fliquidstocks.txt

     > Last line is not getting  executed . But if I run last line
    afterwards in console, it works.
     > Can someone throw somelight why it happens.

    Try echoing the value of $i each time through the loop.  I wonder if
    the "exit 0" when $i = 0 is the problem.

        - Dave


Thanks. I think you are correct. What should do to come out of loop instead of exiting the script.


If you only want the loop to run 20 times, then you can change it to only read a maximum of 20 lines from the file:

for trv in $(head -n20 temp)

    - Dave


--

Dave Parker
Utica College
Integrated Information Technology Services
(315) 792-3229
Registered Linux User #408177


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to