The pattern expansion characters { } are similar to *, ? and [ ]
wildcards but they expand non-existent strings (not just filenames)
as well. { } works in csh, tcsh, zsh and bash but not in sh and ksh.
{ } expansion (a facility performed by the bash shell)
{a,e,i,o,u} create 5 strings consisting of 1 different vowel each.
{,a} create 2 strings, the first is null the 2nd is 'a'
{,,,,} [4 commas] create 5 strings that are null
Examples:
$ # What do these commands with braces produce as output?
$ # What error message do you get with ls or echo if there is no match?
$ mv file{1,2}.txt
$ echo mv file{1,2}.txt
$ cp file{,.old}
$ cat ~/Assign{ment1,ment2,ment3}/Results{1,2,3}.rk
compare:
$ vi file[a-g][a-g]
$ vi file{aa,bb,cc,dd,ee,ff,gg}
$ echo {bill,bob,brian,beth,barb}@ned.highline.edu
Questions? Robert Katz: rkatz@ned.highline.edu