Dado um diretório contando diversos arquivos compactados (zip) - por exemplo, um diretório contendo backups diários - extrair de alguns destes arquivos, arquivos que correspondam a uma máscara específica.
Para isto, podemos combinar ao unzip, os comandos for e ls, como abaixo:
Sintaxe:
for i in $(ls <relacao_arquivos>); do unzip -j $i <mascara_arquivo>; done
Exemplo:
for i in $(ls /backup_diario/201408*.zip); do unzip -j $i PROCESSAMENTO/2014????txt; done
No exemplo acima, são extraídos dos arquivos zip, que atendem a máscara 201408*.zip, apenas os arquivos que originalmente quando compactados estavam na pasta PROCESSAMENTO e que atendem a máscara informada (2014????.txt). Os arquivos são extraídos sem o diretório original e colocados no diretório aonde o comando está sendo executado (opção -j).
Nenhum comentário:
Postar um comentário