First of all, I apologize if this question can be answered with a web search, but I couldn't find anything.
There is some grammar in the cat command which I've seen to "repeat" files.
cat file{,}
Is equivalent to calling
cat file file
Also,
cat file{,}{,}{,}{,}
repeats file not four times, but 16 times.
In addition,
cat file{,,}
repeats file 3 times.
I would like to know more about this grammar. What is it called? Is it built into cat or is it a shell feature? Are there more features of this grammar?
This feature is called brace expansion.
Generally you can write file{1,2,3} and bash expands it to file1 file2 file3 before running the command.
If you write
mkdir foo{1,2,3}{a,b}
it will be equivalent to
mkdir foo1a foo1b foo2a foo2b foo3a foo3b
and will create those 6 directories.
In your case ({,}) you are adding nothing and nothing and therefore get the same word twice.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With