Cria o rar sem estrutura de diretório a partir da linha de comando

0

Eu tenho uma pasta cheia de pastas, e algumas dessas pastas podem ou não ter pastas nelas. Parece algo assim:

~/stuff/01.d/01/files
~/stuff/02.d/files
~/stuff/03.d/files
~/stuff/04.d/lol/files
~/stuff/05.d/files

Eu quero fazer .rars separados para cada uma das pastas em ~/stuff , então eu vou fazer for f in *.d; do rar a "${f//.d/.rar}" "$f"; done , o que funcionou muito bem, e me deu as rars. Mas eu prefiro não ter nenhuma estrutura de diretório nos rars, apenas arquivos. Existe uma maneira fácil de fazer isso? Parecia que um dos switches parecia ter feito o que eu queria, mas a página man é um pouco confusa. Vou tentar algumas coisas.

Eu posso acabar tentando descobrir um script bash para o CD no diretório, verifique se são os arquivos, se assim for, faça o .rar no pai (../${f//.d/.rar} ), senão vá para o diretório novamente e faça os dois pais rar (../../${f//.d/.rar}). Nesse caso, eu quero rar a ../"${f//.d/.rar}" * , eu não testei.

    
por Rob 17.11.2011 / 22:10

1 resposta

2

Acho que você quer a opção -ep :

for f in *.d; do rar a -ep "${f//.d/.rar}" "$f"; done

Isso lhe dará um rar para cada diretório, sem estrutura de diretório dentro deles ("ep"="excluir caminhos de nomes").

    
por 17.11.2011 / 22:24

Tags