如何使用偏移量传输具有共同后缀和前缀的多个文件?

如何使用偏移量传输具有共同后缀和前缀的多个文件?

我有数千个文件,其名称的形式如下:

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..

我使用 sftp 仅传输后缀和前缀分别为“sequence_1”和“.hmf”的文件。但是,我不想传输与此格式匹配的所有文件。相反,我想传输每一百个文件。那是:

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

有没有办法做到这一点?

答案1

你的例子和描述不一致。根据列表sequence_2_0001.hmf, sequence_2_0101.hmf, sequence_2_0201.hmf, ...,您可以使用?通配符来匹配任何一个字符。

get sequence_2_??01.hmf

您可以使用字符集每 20 个匹配一个文件(例如)。[02468]匹配数字024或中的任意一位68

get sequence_2_[02468]?01.hmf

答案2

您可以使用如下方式生成文件列表:

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

相关内容