Compactando arquivos em lote

Publicado por Sandro Marcell 11/07/2008

[ Hits: 12.025 ]

Homepage: http://sanmarcell.wordpress.com

Download lote.sh




Compacte vários arquivos e diretórios de uma só vez. Arquivos comuns são
compactados no formato .gz e diretórios no formato .tar.gz

  



Esconder código-fonte

#!/bin/zsh

## Lote.sh - Shell script para compactação de arquivos em lote
## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima)
## E-mail: sandro_marcell@yahoo.com.br
## Slackware GNU/Linux 10.1.0

# Este script compacta arquivos e diretórios em lote.
# São necessários: Gzip e Tar.
# É possível o uso do metacaractere (*).
# Uso: nome_script arquivo1 arquivo2 [arquivoN]

# Realçando a saída do comando 'print':
Print () print '\e[1m'"$*" ; tput sgr0

# Checa se o usuário passou algum parâmetro: 
[[ $# -eq 0 ]] && Print ">>> Uso: $(basename $0) arquivo1 [arquivoN]" && bye

# Início do laço 'for':
for A
do

# O arquivo existe?
[[ ! -a $A ]] && Print "> Arquivo ou diretório não encontrado!" && continue

# O usuário pode compactá-lo?
[[ ! -w $A ]] && Print "> Sem permissão para compactar!" && continue

# Checando se o arquivo é um diretório ou não:
if [[ -d $A ]] {
   # Início da compactação do(s) diretório(s):
   ls $A | xargs tar -c -i -f >(gzip -q -f -9 > $A.tar.gz) \
   $A > /dev/null 2>&1 
   Print "> Diretório compactado!"
} else {
   # Como o(s) arquivo(s) não é(são) diretório(s), logo:
   ls $A | xargs gzip -q -f -9 $A > /dev/null 2>&1
   Print "> Arquivo compactado!"
   continue
}

done 

## Data de criação deste script: Qua 25/04/2007 às 19:17:25

Scripts recomendados

Script para atualização de sistemas Debian, Ubuntu e variáveis.

Criando contas de usuario em varios servidores ao mesmo tempo

Consulta operadora

modem.sh

Shell para extrair informações de impressoras Brother


  

Comentários
[1] Comentário enviado por SMarcell em 11/07/2008 - 09:09h

Script caduco:

Este script estava há mais de um ano na fila de espera aqui do VOL, e só agora é que foi publicado! Só informando que já existe uma versão infinitamente melhor do que essa pronta.

Falou!!!


Contribuir com comentário