여러 정렬 키로 정렬 된 디렉토리 내의 모든 파일을 나열 할 수 있기를 원합니다. 예를 들면 :
Level_5_10_1.jpg
Level_5_1_1.jpg
Level_5_1_1.jpg
먼저 나타나고 싶어요 . 정렬 순서는 마지막 번호부터 시작해야합니다.
Level_4_2_1.jpg > Level_4_1_10.jpg
Level_3_2_1.jpg > Level_3_1_10.jpg
등등..
나는 시도했다 :
ls | sort -h -k3,3n -k2,2n -k1,1n -t_
그러나 내가 원하는 결과를 얻지 못했습니다. 예를 들어, Level_5_1_2.jpg < Level_1_2_1.jpg
잘못된 것이 나열되어 있습니다.
어떤 아이디어?
추신 : 이것은 파일 목록 의 pastebin 입니다.
작은 파일 이름 샘플을 가져 왔습니다. 옵션 을 _
사용 하여 파일 이름을 분할하면 -t
첫 번째 필드는 "레벨"이되는 1이고 필드 2가 첫 번째 숫자가되는 식입니다. 나는 당신이 구체적으로 추구하는 순서를 완전히 확신하지 못하지만이 솔루션은 적어도 작업 할 수있는 것을 제공해야한다고 생각합니다. 전체 패턴을 더 쉽게 볼 수 있도록 결과 중 일부를 잘라 냈습니다.
me@machine:~$ ls Level*.jpg | sort -t_ -k2n -k3n -k4n
Level_1_1_1.jpg
Level_1_1_2.jpg
Level_1_1_3.jpg
Level_1_1_4.jpg
Level_1_1_5.jpg
Level_1_2_1.jpg
Level_1_2_2.jpg
Level_1_2_3.jpg
Level_1_2_4.jpg
Level_1_2_5.jpg
Level_1_3_1.jpg
...
Level_1_10_5.jpg
Level_2_1_1.jpg
...
Level_2_1_5.jpg
Level_2_2_1.jpg
...
Level_2_2_5.jpg
Level_2_3_1.jpg
...
Level_2_10_5.jpg
Level_3_1_1.jpg
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다