find는 RHEL에서는 이상한 파일 순서를 반환하지만 OSX에서는 반환하지 않습니다.

find는 RHEL에서는 이상한 파일 순서를 반환하지만 OSX에서는 반환하지 않습니다.

내가 들어갈 때

find . -iname "[0-9]*.nii"

내 OSX 컴퓨터에서는 다음을 반환합니다.

./03_Rest_fcMRI/9793_01_03_1.nii
./04_VEMP/9793_01_04_1.nii
./04_VEMP/9793_01_04_2.nii
./05_Tapping/9793_01_05_1.nii
./05_Tapping/9793_01_05_2.nii
./06_Adaptation/9793_01_06_1.nii
./06_Adaptation/9793_01_06_2.nii
./06_Adaptation/9793_01_06_3.nii
./06_Adaptation/9793_01_06_4.nii
./07_SWM/9793_01_07_1.nii
./07_SWM/9793_01_07_2.nii
./07_SWM/9793_01_07_3.nii
./08_Foot_Tapping/9793_01_08_1.nii

RHEL에 동일한 코드 줄을 입력하면 다음과 같은 결과가 나타납니다.

./06_Adaptation/9793_01_06_3.nii
./06_Adaptation/9793_01_06_4.nii
./06_Adaptation/9793_01_06_2.nii
./06_Adaptation/9793_01_06_1.nii
./03_Rest_fcMRI/9793_01_03_1.nii
./08_Foot_Tapping/9793_01_08_1.nii
./04_VEMP/9793_01_04_2.nii
./04_VEMP/9793_01_04_1.nii
./07_SWM/9793_01_07_3.nii
./07_SWM/9793_01_07_2.nii
./07_SWM/9793_01_07_1.nii
./05_Tapping/9793_01_05_2.nii
./05_Tapping/9793_01_05_1.nii

OSX의 파일 순서는 나에게 논리적인 것 같습니다. RHEL에서는 그렇지 않습니다. 파이프라인 정렬을 통해 RHEL에서 동일한 주문을 얻을 수 있다는 것을 알고 있지만 그건 내 문제가 아닙니다.

RHEL에서 find가 영숫자가 아닌 순서를 출력하는 이유를 이해하려고 합니다.

답변1

find는 파일을 정렬하지 않고 찾은 순서대로 나열합니다. 또한 발견된 순서대로 디렉토리를 탐색합니다. 순서에 대해 어떤 가정도 할 수 없지만 find를 다시 실행하면 동일한 순서를 얻게 되므로 재현 가능하다고 생각합니다.

Linux에서는 파일이 다음과 같습니다.아니요알파벳순으로 저장됩니다. 어쩌면 OSX에 있을 수도 있고 알파벳순으로 생성되었을 수도 있습니다.

정렬하지 않는 것은 게으름이나 실수가 아니라 그냥 그런 것입니다. 파일을 정렬하는 경우 파일 시스템 탐색이 완료될 때까지 아무 것도 출력되지 않습니다. 이는 대부분의 경우 몇 분 정도 걸릴 수 있습니다.

관련 정보