O que o diff com chaves indica?

0
for i in $(find template -type f | sed 's/^template//') ; do
    diff -wBNu {,./template}$i

Eu posso entender o loop for que percorrerá todos os arquivos no diretório template e, em seguida, substituirá toda a frase que começa com o modelo por '' . Esse entendimento está correto? O que o diff faz aqui?

    
por Nilesh Chaudhary 22.09.2016 / 08:46

1 resposta

2

As chaves executam a expansão do 'suporte de shell'. O constructo {,. / Template} $ i produz um par de palavras, ambas contendo o valor de $ i, mas o último tem ./template prefixado. Experimente o comando

echo foo{,bar}

no prompt do shell para vê-lo em ação. Isso está documentado em "expansão do Brace" no manual bash.

    
por 22.09.2016 / 09:10