O que é Alt + Shift + {?

10

Testei isso no CentOS e Ubuntu, se você estiver em um diretório com uma tonelada de arquivos

$ ls
day1.tar.gz  day2.tar.gz  day3.tar.gz  day4.tar.gz  day5.tar.gz  day6.tar.gz  day7.tar.gz  day8.tar.gz day9.tar.gz day10.tar.gz

E você pressioná- Alt+Shift+{lo-á awk-complete todos os nomes de arquivos

<Alt+Shift+{>

conclui para:

 day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}

e

day1<Alt+Shift+{>

conclui para:

day1{0.tar.gz,.tar.gz}

Perguntas : O que é isso? Como isso é chamado? Onde é útil? Como posso configurá-lo? Posso fazer isso com arquivos que terminam com uma substring e não começam com um?

Mikhail
fonte

Respostas:

9

No Bash, ele executa a função readline complete-into-braces.

A expansão entre chaves é uma maneira útil de abreviar uma referência a vários arquivos.

Por exemplo:

ls -l /path/to/dir/*.{c,h}

listaria todos os arquivos que terminam em ".c" ou ".h".

De man bash:

complete-in-chaves (M- {)
Execute a conclusão do nome do arquivo e insira a lista de possíveis preenchimentos entre chaves, para que a lista fique disponível para o shell (consulte Expansão de chaves acima).

e

Expansão de
chaves A expansão de chaves é um mecanismo pelo qual seqüências de caracteres arbitrárias podem ser geradas. Esse mecanismo é semelhante à expansão do nome do caminho, mas os nomes de arquivos gerados não precisam existir. Os padrões a serem expandidos entre colchetes assumem a forma de um preâmbulo opcional, seguido por uma série de cadeias separadas por vírgula ou uma expressão de sequência entre um par de colchetes, seguido de um postscript opcional. O preâmbulo é prefixado para cada string contida entre chaves, e o postscript é anexado a cada string resultante, expandindo da esquerda para a direita.

As expansões de chaves podem ser aninhadas. Os resultados de cada sequência expandida não são classificados; a ordem da esquerda para a direita é preservada. Por exemplo, a {d, c, b} e se expande para `ade ace abe '.

A conclusão, por definição, é concluída e, portanto, funciona com arquivos que começam com uma sequência.

Pausado até novo aviso.
fonte
Estou impressionado .. É uma expansão de cinta inversa! ... Bom;) ...
Peter.O