rsync todos os diretórios que começam com um dígito específico

1

Eu tenho um diretório carregado com milhares de subdiretórios:

/home/tmp/
          1
          12
          123
          1234
          2345
          234
          3456
          345
          34

Cada subdiretório, por sua vez, tem centenas de subdiretórios que eu quero rsync se o primeiro subdiretório de nível corresponder ...

O que eu preciso é uma maneira de copiar / rsync apenas os diretórios que começam com um dado dígito [1-9] ...

O que eu acho que quero é basicamente algo que me permita usar curingas para combinar

rsync -rzvvhP remotehost:/home/tmp/1* /home/tmp/

Eu quero que o rsync sincronize o

/home/tmp/1/
/home/tmp/12/
/home/tmp/123/
/home/tmp/1234/

diretórios e subdiretórios-filhos que eles têm, mas nenhum dos diretórios de primeiro nível que iniciam com um dígito diferente ...

/home/tmp/234/
/home/tmp/2345/
........./3*/
........./4*/ etc..

O que eu tentei:

rsync -rzvvhP --exclude='*' --include-from=1.txt remotehost:/home/tmp/ /home/tmp/

em que 1.txt contém:

1
12
123
1234

Quando faço isso com o 2.txt, embora o rsync ainda pareça percorrer todos os diretórios que começam com 1 e 3, etc ...

Como posso fazer isso para que eu possa ter um comando para rsync apenas os diretórios que começam com qualquer dígito determinado?

    
por kasdega 01.02.2013 / 22:47

1 resposta

1

Você pode tentar algo assim para seu curinga:

/home/tmp/{1,12,123,1234}

O {} gera cada uma das opções separadas por vírgulas, sendo assim:

/home/tmp/1 /home/tmp/12 /home/tmp/123 /home/tmp/1234
    
por 25.02.2013 / 05:45