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
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?
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
Tags command-line rsync linux unix