Re: bash doubt
On Tue, May 13, 2008 at 08:05:16PM -0500, Jordi Gutiérrez Hermoso wrote:
> On 13/05/2008, L. V. Gandhi <lvgandhi@gmail.com> wrote:
> > I have a script as follows
> [snip]
> > i=$i+1
> [snip]
> > How to correct it
>
> Your counter is wrong. $i + 1 means to treat i as a string and to
> append the string "1" to it. If you want to do arithmetic in bash, you
> have to put it inside brackets. i = $[i+1].
Although it should work.... why not use POSIX style which bas accept
too.
i=$((i+1))
For speed of shell script, it is faster to use dash and better to be
portable.
> Btw, an easier way to do a for loop of this sort in bash is to do "for
> i in `seq 20`" (notice the backticks).
Yep. I agree.
Also with xargs command instead of shell loop, you should get faster
script.
> If you want to do a lot of text manipulation, it may feel more natural
> to use Perl (or at least it feels more natural to me).
True.
Reply to: