Compac.sh (Versão CShell)
Publicado por Sandro Marcell 11/09/2007
[ Hits: 4.006 ]
Homepage: http://sanmarcell.wordpress.com
Compacte/descompacte arquivos simultaneamente de forma rápida e prática, sem necessidade de parâmetros extras.
#!/bin/csh -f # # Compactando/descompactando arquivos simultaneamente # (Versão C Shell) # # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: nome_script arquivo1 ... [arquivoN] # Obs.: É possível o uso do metacaractere (*) # Modificando saída do comando 'echo': set echo_style = sysv # Checando parâmetros: if ($#argv == 0) echo "\e[1mUso: $0:t arquivo1 ... [arquivoN]\e[m" # Arquivo de log: set LOG = /tmp/$0:t-$user.log # Avisos: set AG = "\e[1mDescompactando...\e[m" set AG2 = "\e[1mCompactando...\e[m" set SUCESSO = "\e[1mArquivo descompactado!\e[m" set ERRO = "\e[1;5mErro! Mais detalhes em: $LOG\e[m" # Início do loop: foreach A ($argv) # Testes condicionais: if (! -e $A) then echo "\e[1;5mArquivo não encontrado.\e[m" continue else if (! -w $A) then echo "\e[1;5mSem permissão de acesso.\e[m" continue endif # Compactar ou descompactar? switch ($A) # Descompactando... case {*.tar.gz,*.tgz}: echo $AG ; sleep 1 tar -zxf $A >>&! $LOG # Testando código de retorno: if ($status == 0) then echo $SUCESSO else echo $ERRO endif breaksw case *.gz: echo $AG ; sleep 1 gunzip $A >>&! $LOG if ($status == 0) then echo $SUCESSO else echo $ERRO endif breaksw case {*.tar.bz2,*.tbz}: echo $AG ; sleep 1 tar -jxf $A >>&! $LOG if ($status == 0) then echo $SUCESSO else echo $ERRO endif breaksw case *.bz2: echo $AG ; sleep 1 bunzip2 $A >>&! $LOG if ($status == 0) then echo $SUCESSO else echo $ERRO endif breaksw default: # Compactando... # É arquivo ou diretório? if (-d $A) then echo $AG2 ; sleep 1 tar -czf $A.tar.gz $A >>&! $LOG if ($status == 0) then echo "\e[1mDiretório compactado!\e[m" else echo $ERRO endif else echo $AG2 ; sleep 1 gzip -f9 $A >>&! $LOG if ($status == 0) then echo "\e[1mArquivo compactado!\e[m" else echo $ERRO endif endif breaksw endsw end # Fim
Script para Controlar Conexao Speedy
Front-end tosco para Xmame (kdialog)
Mostrando arquivos de forma diferente
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Como estrair uma palavra exata do banco de dados mysql? (0)
Toda distribuição Linux trava o PC (6)