大括号扩展除了 mkdir 之外的其他命令?

chr*_*lee 2 brace-expansion

发现这个漂亮的 lifehacking gem 来创建多个目录:https ://unix.stackexchange.com/a/640/7768

我想知道是否有其他命令支持大括号扩展?

Kev*_*vin 10

大括号是外壳扩展,因此您可以将它们与任何命令一起使用。为了记录,它不一定是..,也不一定是字母。数字与范围一起工作,您可以使用逗号作为独立值,您可以将其与常规标记或其他扩展混合使用:

$ echo {1..3} {a..c} {1..3}-{a,c}
1 2 3 a b c 1-a 1-c 2-a 2-c 3-a 3-c
Run Code Online (Sandbox Code Playgroud)

你可以嵌套,我经常用它来安装/卸载 ( {,un}installing:)) 包。

aptitude install package{,-{dev,doc}}
Run Code Online (Sandbox Code Playgroud)

扩展到

package package-dev package-doc
Run Code Online (Sandbox Code Playgroud)


Nik*_*ley 5

此外,它甚至可以有正则表达式。格式正确的大括号扩展必须包含不带引号的左括号和右括号,以及至少一个不带引号的逗号或有效的序列表达式。任何格式不正确的大括号扩展都保持不变。例子:

mkdir /usr/local/src/bash/{old,new,dist,bugs}
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
Run Code Online (Sandbox Code Playgroud)

http://www.gnu.org/s/bash/manual/html_node/Brace-Expansion.html

http://www.linuxjournal.com/content/bash-brace-expansion