---
name: "numrange"
section: "1"
platform: "linux"
package: "num-utils"
version: "0.5-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/numrange"
---

# numrange(1)

Print out a range of numbers for use in for loops and such.

## NAME

numrange - Print out a range of numbers for use in for loops and such.

## SYNOPSIS

**numrange** \[-dhV\] /\<expression\>/

## DESCRIPTION

**numrange** will print out a list of numbers based on an expression that you specify.  This is useful for making a list of numbers for use in for loops and so on. Ranges are inclusive. Ranges of numbers are specified using the .. operator, like this /20..50/, which means all integers from 20 to 50 inclusive.  More complex expressions can be generated using the commas and the 'i' increment operator.

## OPTIONS

```
    -e <set> Exclude the <set> of numbers from the range output.  <set>
       is a set of numbers separated by commas.
    -n <n> Use <n> as the separator between numbers.  By default, it
       will use a space.  Use '\n' or \\n for a newline character or
       use the -N option.
    -N  Just a quick option for using a newline as the separator.
    -h  Help: You're looking at it.
    -V  Increase verbosity.
    -d  Debug mode.  For developers
```

## EXAMPLES

```
   All numbers from 1 to 10.
    $ numrange /1..10/
    1 2 3 4 5 6 7 8 9 10
   From 10 to 1. Counting down.
    $ numrange /10..1/
    10 9 8 7 6 5 4 3 2 1
   From 1 to 10 and from 15 to 20.
    $ numrange /1..10,15..20/
    1 2 3 4 5 6 7 8 9 10 15 16 17 18 19 20
   Even numbers from 0 to 10
    $ numrange /0..10i2/
    0 2 4 6 8 10
   Odd numbers.  Notice the starting number in the range expression.
    $ numrange /1..10i2/
    1 3 5 7 9
   Factors of 3 between 99 and 120.
    $ numrange /99..120i3/
    99 102 105 108 111 114 117 120
   Decimal numbers
    $ numrange /1.1..2.5i0.1/
    1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5
   And negative numbers too.
    $ numrange /1.0..-2.0i0.3/
    1 0.7 0.4 0.1 -0.2 -0.5 -0.8 -1.1 -1.4 -1.7 -2
   You can also pad numbers when you are counting up.  This is
   a trick of how the Perl programming language deals with ranges:

    $ numrange /01..15/
    01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
```

## BUGS

Even though you can do zero padding on simple ranges, like 001..100, it will not pad zeros on complex ranges like 001..100i2, or for counting downwards.

## SEE ALSO

[**seq**(1)](/seq/1.md), [**numaverage**(1)](/numaverage/1.md), [**numbound**(1)](/numbound/1.md), [**numinterval**(1)](/numinterval/1.md), [**numnormalize**(1)](/numnormalize/1.md), [**numgrep**(1)](/numgrep/1.md), [**numprocess**(1)](/numprocess/1.md), [**numsum**(1)](/numsum/1.md), [**numrandom**(1)](/numrandom/1.md), [**numround**(1)](/numround/1.md)

## COPYRIGHT

numrange is part of the num-utils package, which is copyrighted by Suso Banderas and released under the GPL license.  Please read the COPYING and LICENSE files that came with the num-utils package

```
  Developers can read the GOALS file and contact me about providing
submitions or help for the project.
```

## MORE INFO

More info on numrange can be found at:

- **http://suso.suso.org/xulu/Num-utils**
