On Friday 13 October 2006 22:42, Rafael Leandro wrote:
[cut]
> só que eu queria omitir algumas pastas (não queria copiar).
[cut]


Segue um exemplo de como fazer isso.

Diretório de origem:
$ ls orig
a/  b/  c/  d/  e/  f/  g/  h/  i/  j/

Lista de diretórios que não deverão ser copiados:
$ cat blacklist
a
d
e

Diretório de destino (vazio):
$ ls dest

Executa o script:
$ ./cp.sh

Diretório de destino (sem os diretórios da blacklist):
$ ls dest
b/  c/  f/  g/  h/  i/  j/


O script é o seguinte:

$ cat cp.sh
#!/bin/sh

for i in orig/*; do
  x=1

  for j in `cat blacklist`; do
    test `basename $i` = $j && x=0
  done

  test $x = 1 && cp -a $i dest
done

O segundo laço verifica se o diretório está na blacklist, caso afirmativo 
altere o valor de x, assim, ao final da blacklist, na próxima interação do 1o 
laço o diretório não será copiado, já que x não atende ao teste efetuado.




---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a