디렉토리에 있는 "1", "2",...,"9", "10", "11", ..., "20", "21", ...의 모든 파일을 `ls`할 수 있나요? ?

디렉토리에 있는 "1", "2",...,"9", "10", "11", ..., "20", "21", ...의 모든 파일을 `ls`할 수 있나요? ?

내부에 "1", "2",...,"9", "10", "11", ..., "20", "21", ...이라는 파일이 있는 디렉토리가 있습니다.

"1", "2",...,"9", "10", "11", ..., "20", "21", ...의 순서로 나열할 수 있습니까?

나는 시도했다 ls -ls. 그런 식으로 파일을 나열하지 않고 대신 "1", "10", "11", ..., "19", "2", "20", "21", .... 내 생각에는 그런 기능은 가끔 도움이 될 것입니다.

답변1

GNU(대부분의 Linux 배포판에서 볼 수 있음)를 사용하면 페이지 에서 , where 를 ls사용할 수 있습니다.ls -v-vman

 -v     natural sort of (version) numbers within text

답변2

GNU는 ls -v이미 언급되었지만 다른 명령의 경우 쉘이 zshglobbing 한정자를 사용하여 와일드카드가 확장되는 순서에 영향을 줄 수 있습니다.

예를 들어:

printf '%s\n' *(om)

m정렬 순서 (가장 오래된 것부터 최신 것까지)를 *(Om)반대로 하기 위해 수정 시간(최신 것부터 가장 오래된 것 순) 으로 정렬된 파일을 나열합니다 .

*(n)파일을 숫자순으로 정렬합니다. 따라서 lsGNU가 아닌 경우 ls에도 다음을 수행할 수 있습니다.

ls -fdl -- *(n)

목록을 숫자로 정렬하려면

관련 정보