Script em Tcl para descompactar arquivos
Publicado por Sandro Marcell 29/03/2007
[ Hits: 5.938 ]
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"
}
}
Nenhum comentário foi encontrado.
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Instalar Ubuntu com Btrfs + LUKS de forma fácil
Habilitando "hotcorner" no Ubuntu
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Continuando meus tópicos anteriores (9)
Executar um programa em Rust (2)
Não consigo publicar screenshots no Viva o Linux [RESOLVIDO] (5)









