![파일이 나열되는 순서](https://linux55.com/image/34670/%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EB%82%98%EC%97%B4%EB%90%98%EB%8A%94%20%EC%88%9C%EC%84%9C.png)
디렉토리에 파일 목록이 있는 경우
ullman-000.pbm
ullman-001.pbm
...
ullman-098.pbm
ullman-099.pbm
ullman-1000.pbm
ullman-1001.pbm
ullman-1002.pbm
ullman-1003.pbm
ullman-1004.pbm
ullman-1005.pbm
ullman-1006.pbm
ullman-1007.pbm
ullman-1008.pbm
ullman-1009.pbm
ullman-100.pbm
ullman-1010.pbm
ullman-1011.pbm
ullman-1012.pbm
ullman-1013.pbm
ullman-1014.pbm
ullman-1015.pbm
ullman-1016.pbm
...
명령에 입력 파일로 ullman*.pbm
사용하고 전달할 때 다음 순서로 어떻게 만들 수 있습니까?convert ullman*.pbm ullman.pdf
ullman-000.pbm
ullman-001.pbm
...
ullman-098.pbm
ullman-099.pbm
ullman-100.pbm
...
ullman-999.pbm
ullman-1000.pbm
ullman-1001.pbm
ullman-1002.pbm
ullman-1003.pbm
ullman-1004.pbm
ullman-1005.pbm
ullman-1006.pbm
ullman-1007.pbm
ullman-1008.pbm
ullman-1009.pbm
ullman-1010.pbm
ullman-1011.pbm
ullman-1012.pbm
ullman-1013.pbm
ullman-1014.pbm
ullman-1015.pbm
ullman-1016.pbm
...
감사해요?
답변1
GNU는 성공할 sort
수도 있다xargs
printf '%s\0' ullman*.pbm | sort -z -k2,2n -t'-' | xargs -0 convert
먼저 호출하지 않고 파일을 나열하여 이것이 작동하는지 확인하십시오.convert
printf '%s\0' ullman*.pbm | sort -z -k2,2n -t'-' | xargs -0 printf '%s\n'
ullman-000.pbm
ullman-001.pbm
ullman-098.pbm
ullman-099.pbm
ullman-100.pbm
ullman-1000.pbm
...
하지만
printf '%s\0' ullman*.pbm | xargs -0 printf '%s\n'
ullman-000.pbm
ullman-001.pbm
ullman-098.pbm
ullman-099.pbm
ullman-1000.pbm
..
..
답변2
한 가지 방법은 3자리 숫자의 파일 이름을 4자리 숫자로 바꾸고 파일 이름을 0으로 채우는 것입니다. 이미 설치되어 있는 경우 perl-rename
(Ubuntu의 경우 기본값) 다음을 시도해 볼 수 있습니다.
rename -n 's/-(\d{3}\.)/-0$1/' *.pbm
결과에 만족하면 사용을 중단하십시오 -n
.
아니면 다른 옵션도 확인해 보세요파일 이름의 숫자를 고정 길이로 패드.