다음 형식의 이름을 가진 수천 개의 파일이 있습니다.
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
...
등..
저는 sftp를 사용하여 각각 접미사와 접두사 "sequence_1" 및 ".hmf"가 있는 파일만 전송합니다. 하지만 이 형식과 일치하는 모든 파일을 전송하고 싶지는 않습니다. 대신, 100개의 파일마다 전송하고 싶습니다. 그건:
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'