![ls는 cron 작업 중에 다른 정렬 순서를 제공합니다.](https://linux55.com/image/32641/ls%EB%8A%94%20cron%20%EC%9E%91%EC%97%85%20%EC%A4%91%EC%97%90%20%EB%8B%A4%EB%A5%B8%20%EC%A0%95%EB%A0%AC%20%EC%88%9C%EC%84%9C%EB%A5%BC%20%EC%A0%9C%EA%B3%B5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 무엇보다도 디렉터리를 재귀적으로 파일로 변환하는 크론 작업을 수행하고 있습니다. 이것은 동일한 디렉터리의 동일한 목록을 포함한다고 하는 내가 만든 다른 파일과 비교됩니다. 내 문제는 비교를 위해 버전을 생성할 때 파일이 대소문자를 구분하지 않는 순서로 나열된다는 것입니다. 크론 작업이 실행되면 해당 목록이 대소문자를 구분하여 표시됩니다.
이 두 가지를 같은 방식으로 표시하려면 어떻게 해야 합니까(어느 쪽인지 상관 없음)? /bin/ls -lR --time-style=long-iso *
내가 아는 한 ls에 대한 호출은 LC_COLLATE를 설정하지 않은 것입니다 .
답변1
애플리케이션이 특정 정렬 순서를 사용하도록 명시적으로 강제하면 정렬 문제를 피할 수 있습니다. 문제의 프로그램 대신 실행하여 현재 로캘을 확인 locale
하고 다양한 호출 사례의 출력을 비교할 수 있습니다.
LC_COLLATE
정렬 순서는 명령줄에서 / 를 설정하여 강제로 적용할 수 있습니다 .LC_ALL
LC_COLLATE=C ls ...
LC_ALL=C ls ...