Autocomplete filename no script

0

Eu tenho procurado por uma solução para esse problema por um tempo. Eu estou tentando encontrar uma maneira de usar o autocomplete para mais do que apenas comandos, por exemplo: para arquivos dentro da pasta atual.

Um caso de uso possível (mas não o único): copie o arquivo 1.txt em um diretório dentro do atual chamado i * (eu sei que existe apenas um). Linha de comando, seria:

cp 1.txt i[TAB]

Existe alguma maneira de fazer isso em um script?

    
por Madalina 18.06.2014 / 15:59

1 resposta

0

tente:

    find . -name "i*" -type d -exec cp 1.txt {} \;

Esse comando recursivamente desce o diretório atual do formulário de diretório e os arquivos de pesquisa cujo nome começa com a letra i . A opção -type d restringe a pesquisa ao diretório.

Em vez disso, execute o comando cp e copie 1.txt em cada arquivo (diretório) encontrado.

Para limitar find ao diretório atual, você deve usar -maxdepth option:

   find . -maxdepth 1 -name "i*" -type d -exec cp 1.txt {} \;

Você pode usar a dica do muru e usar cp 1.txt i* , mas isso falha no caso de vários arquivos i* , enquanto o comando find executa o comando cp várias vezes e isso pode ser um problema também.

Então você deve escolher um ou outro, dependendo do caso e do que você precisa.

    
por Lety 19.06.2014 / 23:51