103.25.2. sortBy를 사용하여 정렬

Camel은 플러그형 정렬 전략을 지원합니다. 이 전략은 파일 언어 를 사용하여 정렬을 구성하는 것입니다. sortBy 옵션은 다음과 같이 구성됩니다.

sortBy=group 1;group 2;group 3;...

각 그룹은 콜론으로 구분됩니다. 간단한 상황에서는 하나의 그룹을 사용하므로 간단한 예는 다음과 같습니다.

sortBy=file:name

이렇게 하면 파일 이름으로 정렬됩니다. 이렇게 정렬하면 역으로 접두사를 지정하여 순서를 순으로 정렬할 수 있으므로 정렬은 이제 Z.A입니다.

sortBy=reverse:file:name

우리는 파일 언어 의 전체 능력을 가지고 있으므로 다른 매개 변수 중 일부를 사용할 수 있으므로 파일 크기에 따라 정렬하고 싶은 경우 다음을 수행하십시오.

sortBy=file:length

대소문자를 무시하도록 를 구성할 수 있습니다. 문자열 비교에는 ignoreCase: 를 사용하여 파일 이름을 정렬하고 싶은 경우 대소문자를 무시하려면 다음을 수행합니다.

sortBy=ignoreCase:file:name

ignore case 및 reverse를 결합할 수 있지만 reverse를 먼저 지정해야 합니다.

sortBy=reverse:ignoreCase:file:name

아래 예제에서는 마지막으로 수정된 파일을 기준으로 정렬하므로 다음을 수행합니다.

sortBy=file:modified

그리고 이름으로 이름을 2nd 옵션으로 그룹화하여 동일한 수정 사항이 있는 파일을 이름으로 정렬합니다.

sortBy=file:modified;file:name

이제 문제가 있습니다, 당신은 그것을 발견 할 수 있습니까? 파일의 수정된 타임스탬프가 밀리초 내에 있으므로 너무 괜찮지만 날짜별로만 정렬하고 이름별로 하위 그룹만 정렬하려면 어떻게 해야 합니까?
우리는 파일 언어 의 진정한 힘을 가지고 있기 때문에 우리는 패턴을 지원하는 date 명령을 사용할 수 있습니다. 다음과 같이 해결할 수 있습니다.

sortBy=date:file:yyyyMMdd;file:name

예, 이는 매우 강력하며 그룹별로 역방향을 사용할 수도 있으므로 파일 이름을 되돌릴 수 있습니다.

sortBy=date:file:yyyyMMdd;reverse:file:name