Escrevendo um script tcsh para copiar arquivos especificados no primeiro argumento para um diretório específico

0

Eu estou tentando escrever um script no tcsh que copie os arquivos selecionados que eu especificar na linha de comando de um diretório para outro sem ter que escrever o caminho inteiro de cada arquivo.

Além disso, para ajudar a esclarecer, por exemplo, eu tenho 30 desses arquivos em um único diretório, todos com nomes quase idênticos, mas eu só quero que 4 dos arquivos sejam copiados (ou seja, eu não acho que um curinga poderia ser usado aqui).

Como uma última nota, sou muito novo no Unix, então qualquer sugestão "emburrada" sobre como escrever este script é muito apreciada!

    
por David 13.05.2013 / 19:24

1 resposta

0

O comando cp já fará isso por você. Tente isto:

> cd /path/to/files
> cp file1 file2 file3 file4 /path/to/destination

Como você está no diretório em que os arquivos residem, não é necessário digitar o caminho completo de cada arquivo, mas é necessário digitar o caminho completo para o diretório de destino.

Se você realmente quiser escrever seu próprio script, tente o seguinte:

#!/bin/tcsh

cd /path/to/files
cp $* /path/to/destination

coloque-o em um arquivo como move.tcsh e execute o comando chmod +x move.tcsh para torná-lo executável. Este script faz exatamente a mesma coisa acima. Em um script tcsh $* representa todos os argumentos da linha de comando.

Em ambos os casos, certifique-se de colocar seus caminhos corretos para /path/to/files e /path/to/destination Nesse caso, onde a tarefa é tão simples, a maneira mais correta de fazer isso é diretamente da linha de comando.

    
por 13.05.2013 / 19:54