我有数千个文件,其名称的形式如下:
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]
匹配数字0
、2
、4
或中的任意一位6
。8
get sequence_2_[02468]?01.hmf
答案2
您可以使用如下方式生成文件列表:
printf %s\\n sequence_[0-9]*.jpg | sort -t_ -k2n | sed -n '1~100p'