If you ever needed to generate a sequence of characters or numbers, the terminal (using bash) is a quick and easy way to do it. Lets explore some examples bash’s brace expansion:

$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

by defining a start and end character with the ‘..’ in between, we tell bash to fill in the rest and echo a list for us. Those are all lowercase, what if you wanted uppercase? simple:

$ echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Or both, with a few extra characters in the mix:

$ echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z

It doesn’t always have to be a-z though,

$ echo {A..G}
A B C D E F G

This also works with numbers:

$ echo {0..9}
0 1 2 3 4 5 6 7 8 9
echo {0..100}
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Descending as well as ascending

$ echo {9..0}
9 8 7 6 5 4 3 2 1 0

There is another method to generate a sequence of numbers from the command line, rightfully called ‘seq’

$ seq 1 5
1
2
3
4
5

The difference here is that it’s delimited by a new line, however, we can override that with the -s (seperator) flag

$ seq -s " " 1 10
1 2 3 4 5 6 7 8 9 10
Share and Enjoy:
  • Twitter
  • Digg
  • Facebook
  • StumbleUpon
  • del.icio.us
  • Netvouz
  • DZone
  • NewsVine
  • Reddit
  • Technorati
  • Slashdot
  • Tumblr
  • Yahoo! Bookmarks