Compactando arquivos em lote

Publicado por Sandro Marcell 11/07/2008

[ Hits: 12.015 ]

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

Cálculo de número primo

sbinstall.sh - Descompacta, compila e instala SlackBuild

Terminal logando vários SSH em abas

Alarm NOW!

Menu de saída para i3 (versão em Zenity)


  

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