ls는 cron 작업 중에 다른 정렬 순서를 제공합니다.

ls는 cron 작업 중에 다른 정렬 순서를 제공합니다.

저는 무엇보다도 디렉터리를 재귀적으로 파일로 변환하는 크론 작업을 수행하고 있습니다. 이것은 동일한 디렉터리의 동일한 목록을 포함한다고 하는 내가 만든 다른 파일과 비교됩니다. 내 문제는 비교를 위해 버전을 생성할 때 파일이 대소문자를 구분하지 않는 순서로 나열된다는 것입니다. 크론 작업이 실행되면 해당 목록이 대소문자를 구분하여 표시됩니다.

이 두 가지를 같은 방식으로 표시하려면 어떻게 해야 합니까(어느 쪽인지 상관 없음)? /bin/ls -lR --time-style=long-iso *내가 아는 한 ls에 대한 호출은 LC_COLLATE를 설정하지 않은 것입니다 .

답변1

애플리케이션이 특정 정렬 순서를 사용하도록 명시적으로 강제하면 정렬 문제를 피할 수 있습니다. 문제의 프로그램 대신 실행하여 현재 로캘을 확인 locale하고 다양한 호출 사례의 출력을 비교할 수 있습니다.

LC_COLLATE정렬 순서는 명령줄에서 / 를 설정하여 강제로 적용할 수 있습니다 .LC_ALL

LC_COLLATE=C ls ...
LC_ALL=C     ls ...

관련 정보