Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2008 18:46:15 +0100
From:      Dominic Fandrey <kamikaze@bsdforen.de>
To:        Paul Schmehl <pauls@utdallas.edu>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Shell scripting question - incrementing
Message-ID:  <47BB15E7.1000907@bsdforen.de>
In-Reply-To: <B4C4A8D8DF6EFE8801895F53@utd59514.utdallas.edu>
References:  <B4C4A8D8DF6EFE8801895F53@utd59514.utdallas.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Paul Schmehl wrote:
> I could do this in perl easily, but I'm trying to force myself to learn 
> shell scripting better.  :-)
> 
> ...
> 
> Once this file is created (or ideally *while* it's being created!) I 
> need to increment the sid numbers.  The first one is 2000001.  The 
> second needs to be 2000002, and so forth.   I don't know the total 
> number of lines ahead of time, but it's easy enough to get after the 
> file is created.  (wc -l file.rules | awk '{print $1}')
> 
> Is there a way to do this in shell scripting?  In perl I'd use a for 
> loop and vars, but I'm not sure how to solve this problem in shell 
> scripting.

You can do simple integer arithmetics using expr.

You'll have to realize this in a while loop:

i=2000001
while [ $i -le $largest_i ]; do
     # insert code here
     i=`expr $i + 1`
done



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BB15E7.1000907>