RANGE(1)

πŸ“¦
version 0.5 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– RANGE(1) β€” the numrange glow-up πŸ’–

okay so bestie, you found the manpage for numrange (it lives in section 1 of the User Contributed Perl Documentation, iykyk). Pull up a chair, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

numrange β€” it prints out a range of numbers for you to use in for loops and such. that's the whole vibe. 🌈


✨ SYNOPSIS ✨

numrange [-dhV] /<expression>/

yes, the expression goes in slashes. it's giving very "regex but make it numbers." πŸ’…


✨ DESCRIPTION ✨

So here's the tea, bestie: numrange prints out a whole list of numbers based on an expression you specify. Super useful for making a list of numbers to feed into for loops and so on. πŸ‘‘

Ranges are inclusive, no cap. You write a range of numbers using the .. operator, like this: /20..50/, which means every single integer from 20 to 50, both ends included. 🫢

And if you want to get fancy? You can build more complex expressions using commas and the 'i' increment operator. main character energy tbh ✨


✨ OPTIONS ✨

  • -e <set> β€” Exclude the <set> of numbers from the range output. <set> is a set of numbers separated by commas. bye felicia πŸ‘‹
  • -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 just use the -N option instead. πŸ’…
  • -N β€” Just a quick option for using a newline as the separator. lazy girl win, honestly.
  • -h β€” Help: You're looking at it. hi bestie 🫢
  • -V β€” Increase verbosity. tell me more, tell me more πŸ“’
  • -d β€” Debug mode. For developers. πŸ‘©β€πŸ’» devs only, no gatekeeping

✨ EXAMPLES ✨

okay this is the part you actually came for, let's GO πŸƒβ€β™€οΈ

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 (she's precise πŸ’…)

$ 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. going down down down πŸ•³οΈ

$ 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 ✨

okay so, the sad part 😭 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. it's giving "we don't do that here." πŸ’€


✨ SEE ALSO ✨

your other faves, the whole num-utils friend group 🫢:

seq(1), numaverage(1), numbound(1), numinterval(1), numnormalize(1), numgrep(1), numprocess(1), numsum(1), numrandom(1), numround(1)


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. (yes, that's spelled "submitions" in the original and I'm keeping it, no cap 🫢)

✨ MORE INFO ✨

More info on numrange can be found at:

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


and that's the whole page bestie!! πŸ’– this one shipped as part of perl v5.30.3, dated 2020-06-09 β€” so yeah, she's been iconic for a minute. slay, go write some for loops, periodt. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from