Script em Tcl para descompactar arquivos
Publicado por Sandro Marcell 29/03/2007
[ Hits: 5.558 ]
Homepage: http://sanmarcell.wordpress.com
Este simples script em Tcl, descompacta arquivos nos seguintes formatos:
## .gz, .bz2, .zip, .tar.gz e .tar.bz2 ##
É um script fácil de usar e de entender o seu funcionamento, pois ele está todo comentado.
#!/usr/bin/tcl ## Descom.tcl - descompactador de arquivos ## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima) ## E-mail: sandro_marcell@yahoo.com.br ## Slackware GNU/Linux 10.1 # +---------------------------------------------------------------+ # As extensões suportadas são: .gz, .bz2, .zip, .tar.gz e .tar.bz2 # +---------------------------------------------------------------+ # Checa se o usuário passou algum parâmetro para o script: if {$argc == 0} { puts stdout "\a >>> Uso: [file tail $argv0] /caminho/arquivo.extensão\n >>> Exemplo: [file tail $argv0] /home/user/arquivo.gz\n" exit 0 } # Caso tenha passado, o script contínua! # A condição 'if' teste se o parâmetro passado (o arquivo)\ realmente existe; if {![file exists $argv]} { puts stdout "\n\a:( Arquivo não encontrado!\n" exit 0 } # Se existir, executa o laço "switch". # Este procedimento será utilizado no laço "switch". proc Sucesso {} { puts stdout "\n:) Descompactação finalizada com sucesso!\n" } # Início do laço "switch", que determinará o comando a ser executado: switch -glob $argv { *.tar.gz { if {[catch {exec tar -xzf $argv 2> /dev/stdout}] == 0} { Sucesso } else { puts stdout "\a" exit 1 } } *.gz { if {[catch {exec gunzip $argv 2> /dev/stdout}] == 0} { Sucesso } else { puts stdout "\a" exit 1 } } *.tar.bz2 { if {[catch {exec tar -xjf $argv 2> /dev/stdout}] == 0} { Sucesso } else { puts stdout "\a" exit 1 } } *.bz2 { if {[catch {exec bunzip2 $argv 2> /dev/stdout}] == 0} { Sucesso } else { puts stdout "\a" exit 1 } } *.zip { if {[catch {exec unzip $argv 2> /dev/stdout}] == 0} { Sucesso } else { puts stdout "\a" exit 1 } } default { puts stdout "\n\a:( Arquivo com extensão não suportada!\n" } }
Calculadora com funções básicas
Renomeando arquivos de forma padronizada
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (8)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta