Então, você não quer enganar os caminhos, mas simplesmente ignorar o diretório de nível superior?
cd cwd ; zip -r ../cwd.zip .
Eu tenho a seguinte estrutura de arquivos:
cwd/
---dir1
---file_name1
---some_file_name
---dir2
---file_name1
---some_other_file_name
---some_file
Eu quero obter um arquivo zip tal que quando eu descompactar eu recebo o diretório cwd
e NÃO o diretório pwd
. Então de acordo com o cara eu preciso usar -j
flag. Mas quando eu usá-lo neste caso (OS X mac unix) eu tenho erro sobre o problema que eu tenho em dois diretórios diferentes mesmo nome de arquivo ( file_name1
no exemplo).
zip error: Invalid command arguments (cannot repeat names in zip file).
first full name...
second full name...
this my be a result of using -j
De acordo com isto parece que nada pode ser feito e é assim que zip -j
funciona.
Como posso ainda conseguir o requisito de compactar o zip sem a estrutura padrão do arquivo pwd
? (Não consigo renomear os arquivos - existe uma razão pela qual desde o início eu uso o zip via shell, etc ...).
Obrigado,
Então, você não quer enganar os caminhos, mas simplesmente ignorar o diretório de nível superior?
cd cwd ; zip -r ../cwd.zip .
Tags bash zip shell-script