Compactando arquivos em lote
Publicado por Sandro Marcell 11/07/2008
[ Hits: 12.025 ]
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
Script para atualização de sistemas Debian, Ubuntu e variáveis.
Criando contas de usuario em varios servidores ao mesmo tempo
Shell para extrair informações de impressoras Brother
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Substituindo o NetworkManager pelo iwd (e iwgtk)
Instalar Linux em notebook Sony Vaio VPCEG13EB (2)
GLPI Não atualiza Inventario (0)









