Compac.sh (Versão CShell)
Publicado por Sandro Marcell 11/09/2007
[ Hits: 3.892 ]
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
Calcular tamanho ideal da memória SWAP
Bloqueio e desbloqueio de contas de usuários
Pós-instalação para Ubuntu 20.04 e Linux Mint 19.03
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Repositórios do Linux Mint com problemas [RESOLVIDO] (3)
Acesso remoto via SSH por Script numa virtualbox (4)
Bora compartilhar umas ideias? (16)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (37)