brace expansion outros comandos além do mkdir?

2

Encontrou essa preciosidade bacana para criar vários diretórios: link

Eu queria saber se existem outros comandos suportando expansão de chaves?

    
por chrisjlee 02.12.2011 / 17:31

2 respostas

10

As chaves são uma expansão de shell, então você pode usá-las com qualquer comando. Para o registro, não precisa ser .. e não precisa ser letras. Os números funcionam com um intervalo, você pode usar vírgulas para valores independentes e pode misturá-los com tokens regulares ou outras expansões:

$ 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

E você pode aninhar, o que eu costumo usar para instalar / desinstalar ( {,un}installing :) pacotes.

aptitude install package{,-{dev,doc}}

que se expande para

package package-dev package-doc
    
por 02.12.2011 / 17:51
5

Além disso, pode até ter expressões regulares. Uma expansão de contraventamento formada corretamente deve conter chaves de abertura e fechamento sem aspas, e pelo menos uma vírgula sem aspas ou uma expressão de seqüência válida . Qualquer expansão de contraventamento formada incorretamente é mantida inalterada. Exemplo:

mkdir /usr/local/src/bash/{old,new,dist,bugs}
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

link

link

    
por 02.12.2011 / 19:10