Eda Eren

  • Shell

Brace expansion in shell

For example, printing sequences:

echo Number_{1..5}
echo Number_{1..5}

outputs:

Number_1 Number_2 Number_3 Number_4 Number_5
Number_1 Number_2 Number_3 Number_4 Number_5

Works with zero padding too:

echo {01..10}
# 01 02 03 04 05 06 07 08 09 10
echo {01..10}
# 01 02 03 04 05 06 07 08 09 10

You can also provide an increment value:

echo {0..15..2}
# 0 2 4 6 8 10 12 14
echo {0..15..2}
# 0 2 4 6 8 10 12 14

Also works with letters:

echo {Z..A}
echo {Z..A}

outputs:

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

A nested braces example:

echo a{A{1,2},B{3,4}}b
echo a{A{1,2},B{3,4}}b

outputs:

aA1b aA2b aB3b aB4b
aA1b aA2b aB3b aB4b