zip comando para usar o nome do arquivo sendo compactado

0

Estou tentando arquivar um arquivo em um diretório e usar o nome do arquivo do arquivo no nome do arquivo zip sem saber o nome do arquivo. Eu tenho este comando:

zip -FSmT (what to put here?).zip I805_test.txt

a pergunta é: como eu uso o nome do arquivo I805_test.txt e crie I805_test.txt.zip sem saber o nome do arquivo de entrada?

Acho que preciso usar uma variável de sistema, mas não tenho certeza de qual delas ou como implementar.

    
por maxim 04.02.2015 / 16:48

1 resposta

2

Escreva uma função auxiliar (um wrapper). Por exemplo,

function zip_this_file(){
   zip -FSmT "$1.zip" "$1"
}

Isso apenas usa um signle filename como argumento e executa o que você deseja. Claro, você pode fazer um wrapper adequado e permitir que o usuário passe opções para zip , valide os argumentos, verifique a existência de arquivos e assim por diante ... depende do que você deseja. Se isso for necessário em um único script, deixe-o nesse formulário. Caso contrário, especifique mais claramente em qual contexto você deseja chamar isso.

    
por 04.02.2015 / 16:54

Tags