[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [FORA DO TOPICO] Ajudinha com script em bash



OI,

	simples... use um case para selecionar que tipo de arquivo vc tem. ficaria 
mais ou menos assim:
 
	for i in $*
	do
		case $i in
			*.tar.gz)
				tar xvfz $i
				;;
			*.tar.bz2)
				tar xvfj $i
				;;
			*.zip)
				unzip $i;
				;;
			*)
				echo "nao sei como descompactar $i "
				;;
		esac
	done
	

On Thursday 15 January 2004 22:51, Marcio de Araujo Benedito wrote:
> Por necessidade, com meus parcos conheciemntos de shell script, fiz um
> bacalhau para descompactar multiplops arquivos:
>
> china@localhost:~$ cat /usr/local/bin/descompacta
> #!/bin/bash
> for i in $*
> do
> tar -zxvf $i
> done
> china@localhost:~$
>
> Entao eu uso
> china@localhost:~$ descompacta /onde/estao/os/arquivos/*
>
> Sendo que o $* recebe a lista de arquivos apontada no caminho como
> entrada.
>
> Esta funcionando, so que toda vez que tenho de descompactar arquivos de
> outras extensoes eu tenho de editar o script e trocar o comando. Isso
> ate que nao e problema, mas, ja que fiz a marreta, gostaria de fazer
> algo elegante. Entao pergunto:
>
> Como fazer com que as entradas em *.zip, *.tar.bz2 e outros formatos
> compactados contidos no mesmo diretorio sejam descompactados ao mesmo
> tempo?
> Tipo: tenho um diretorio contendo:
>
> arquivo1.tar.gz
> arquivo2.tar.bz2
> arquivo3.zip
> arquivo4.gz
> arquivo5.rar
>
> seja passado como parametro para o script e ele descompacte todos na
> hora que eu mandar
> china@localhost:~$ descompacta /diretorio/*
>
> []'s

-- 
Christian Lyra
POP-PR - RNP

http://lyra.soueu.com.br
http://wecanstopspam.org

  Thus spake the master programmer: 
  ``You can demonstrate a program for a corporate executive, but you can't 
make him computer literate.'' 
						The Tao Of Programing



Reply to: