Como faço para transferir vários arquivos com um sufixo e prefixo comuns usando um deslocamento?

2

Eu tenho milhares de arquivos cujos nomes são da seguinte forma:

sequence_1_0001.hmf  
sequence_1_0002.hmf  
sequence_1_0003.hmf
...  

sequence_1_0001.jpg  
sequence_1_0002.jpg
sequence_1_0003.jpg
...  

sequence_2_0001.hmf  
sequence_2_0002.hmf  
sequence_2_0003.hmf
...  

etc.

Estou usando o sftp para transferir apenas os arquivos cujo sufixo e prefixo são 'sequence_1' e '.hmf', respectivamente. No entanto, não quero transferir todos os arquivos que correspondem a esse formato. Em vez disso, quero transferir cada centésimo arquivo. Isso é:

sequence_2_0001.hmf  
sequence_2_0101.hmf  
sequence_2_0201.hmf
...  

Existe uma maneira de fazer isso?

    
por Paul 26.04.2012 / 16:18

2 respostas

2

Seus exemplos e descrição são inconsistentes. Indo pela lista sequence_2_0001.hmf , sequence_2_0101.hmf , sequence_2_0201.hmf ,…, você pode usar o curinga ? para corresponder a qualquer caractere.

get sequence_2_??01.hmf

Você pode usar conjuntos de caracteres para corresponder a um arquivo a cada 20 (por exemplo). [02468] corresponde a qualquer um dos dígitos 0 , 2 , 4 , 6 ou 8 .

get sequence_2_[02468]?01.hmf
    
por 27.04.2012 / 00:57
2

Você pode gerar a lista de arquivos com algo parecido com isto:

printf %s\n sequence_[0-9]*.jpg | sort -t_ -k2n | sed -n '1~100p'
    
por 26.04.2012 / 17:09