[clug] Shell glob for a range of numbers?

Michael Still mikal at stillhq.com
Fri Jan 9 02:37:40 GMT 2004


On Fri, 9 Jan 2004, Michael Still wrote:

> On Fri, 9 Jan 2004, Andrew Bishop wrote:
> 
> > On Fri, 9 Jan 2004, McClure, Mike wrote:
> > 
> > [...]
> > > in a private reply yesterday i suggested this:
> > > "cp argus.log.{[5-9],1[0-9],2[01]}.gz /tmp"
> > >
> > > which doesn't have backticks, pipes or loops.
> > 
> > ...and therefore has no chance of winning the "most convoluted 1-line
> > solution".  Really, I don't know why you even bothered :-)
> 
> [untested code follows]
> 
> target=$(( 21 - 5 ))
> while [ $target != 0 ]
> do
>   averybadnameforavariable=$RANDOM
>   if [ $averybadnameforavariable -lt 22 ]
>   then
>     if [ $averybadnameforavariable -lt 4 ]
>     then
>       if [ -f argus.log.$averybadnameforavariable.gz ]
>       then
>         cp argus.log.$averybadnameforavariable.gz /tmp
>         target=$(( $target - 1 ))
>       fi
>     fi
>   fi
> done
> 
> Now, I'll leave putting that on one line for an exercise for the reader.

Oh, and quiz for the reader. What is the critical bug in this code?

Mikal

PS: Second quiz question... Does it implement any RFCs?

-- 

Michael Still (mikal at stillhq.com) | "All my life I've had one dream,
http://www.stillhq.com            |  to achieve my many goals"
UTC + 11                          |    -- Homer Simpson



More information about the linux mailing list