Bash Expansion

From Psygen Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Bash brace expansion "autofills" some commands for you.


Create Multiple files

touch file{1,2,3,4}.txt - Expands to:

 file1.txt
 file2.txt
 file3.txt
 file4.txt


So, we can use a comma to separate the stuff we want to expand. Can we do ranges, I don't want to type all that?

We sure can!!


touch file{1..6}.txt - Expands to:

 file1.txt
 file2.txt
 file3.txt
 file4.txt
 file5.txt
 file6.txt

Save Typing

/a/long/path/{foo,bar} expands to: /a/long/path/foo /a/long/path/bar (Handy for copy commands...)


Make a backup copy of a file:
cp -a /home/user/public_html/test.txt{,.bak} - is the same as typing: cp -a /home/user/public_html/test.txt /home/user/public_html/test.txt.bak

References