Compactando arquivos em lote
Publicado por Sandro Marcell 11/07/2008
[ Hits: 11.999 ]
Homepage: http://sanmarcell.wordpress.com
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
#!/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
Desklets DoItYourself como monitor do sistema
Huawei Claro - Configurar modem Huawei no Linux
Parando o Screeensaver do Gnome durante uma reprodução no mplayer
Manipular serviços no Runit (Void Linux)
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Assisti Avatar 3: Fogo e Cinzas (3)
Conky, alerta de temperatura alta (8)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









