
폴더의 모든 파일을 찾아 나열하는 find 명령을 아래에 제공했습니다. 파일은 알파벳 순서로 나열되지만 모든 파일을 숫자 패턴으로 나열하고 싶습니다. "-name" 대신 "-number"를 사용하면 작동하지 않습니다.
find . -type f -name '*'
I100001093
I200001093
I300001093
XB00001093
I100001094
I200001094
I300001094
XB00001094
I100001095
I200001095
I300001095
XB00001095
누구든지 번호순으로 나열할 수 있는 올바른 명령을 제안해 주실 수 있나요?
답변1
원하는 부분을 어떻게 처리할지에 따라 I
다음 과 같은 명령 X
을 사용할 수도 있습니다 sort
.
find . -type f | sort -n
이것이 원하는 정렬 순서가 아닌 경우 더 자세한 내용을 제공해야 합니다(이상적으로는 예제에서 원하는 출력을 보여주십시오).
이름의 시작 부분을 함께 그룹화하려는 경우 정렬할 키 필드를 지정할 수 있습니다. find의 출력은 ./{id}
(겉보기에) 일괄적으로 관련된 다음 두 문자로 시작하므로 정렬 키를 지정하는 줄의 5번째 문자부터 정렬을 시작할 수 있습니다.
find . -type f | sort -n -k 1.5
-k
정렬을 사용하면 정렬할 키를 지정할 수 있습니다. 여기서는 첫 번째 필드에서 정렬하지만 5번째 문자부터 시작하여 -n
숫자로 정렬하는 데 사용합니다.
현재 디렉토리만 원하는 경우 다음 -maxdepth
과 같이 사용할 수 있습니다.
find . -maxdepth 1 -type f | sort -n -k 1.5
이식성을 원할 경우:
find . -path '*/*/*' -prune -o -type f | sort -n -k 1.5