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: