Compac.sh (Versão CShell)
Publicado por Sandro Marcell 11/09/2007
[ Hits: 4.031 ]
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 média escolar no shell
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)