Compactando arquivos em lote
Publicado por Sandro Marcell 11/07/2008
[ Hits: 11.937 ]
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
Crie playlists personalizadas e execute-as com o mplayer
Script para instalação de um servidor web
Script para Montar Partição/Unidade ...
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (6)
O programa assinador digital (5)









